Zum Inhalt springen

Datei ist zu groß um in Excel eingelesen zu werden. Was tun?


Solaris

Empfohlene Beiträge

Hallo,

ich habe mal wieder ein problem. :rolleyes:

Also ich habe heute den Autrag bekommen, eine Textdatei, die vom Großrechner angelegt wird in Excel zu importieren. in dieser Datei stehen 2 Spalten. Also einmal Name und Vorname.

(Diese Datei ist nur zum Test da, später sollen weitaus Komplexere folgen)

Textdateien gehen ja relativ einfach zu importieren. Auch wo welche Spalte beginnt, bzw anfängt kann man angeben. Die vom großrechner gelieferten Dateien haben ffestgelegte Feldergrößen, wodurch das sehr einfach ist. Also Name ist z.B. 12 Zeichen groß usw.

Nun ist die Datei aber zu groß, also sprengt den Rahmen von 65536 Zeilen um eine ganze Ecke ;)

Meine Frage ist nun also, wie kann ichdie Komplette Datei importieren?

Als Möglichkeiten habe ich nur VBA oder frei erehältliche bzw. frei anwendbare Programmiersprachen zur Verfügung.

Am liebsten wäre es meinem Auftragsgeber es würde alles Excel-intern machbar sein..

habt ihr ne Idee?

mfg Solaris

Link zu diesem Kommentar
Auf anderen Seiten teilen

Excel hat wie du gemerkt hast die Begrenzung auf 65K Zeilen

Mir fallen auf Anhieb 2 Lösungen ein:

Variante 1: Import in Access

Sollte die einfachste Lösung sein...

Variante 2: Excel VBA-Makro

Die Datei wird Zeile für Zeile gelesen und via VBA in das Tabellenblatt übertragen. Nach der 65536. Zeile wird in der 3/4 Spalte weitergemacht. Das sollte allerdings ziemlich lange dauern...

-- eine Excel-Lösung - aber keine gute --

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier bei uns geht es darum, das für Access keine Lizenzen vorhanden sind. Aber für Excel schon. Unser Kunde hat demnach ned das Geld für die vielen Mitarbeiter sich extra Lizenzen kaufen zu können.

Werd mal die 2. Möglichkeit probieren. Nur dazu muss ich mich da jetzt erstmal reinarbeiten und tutorials suchen.

Vielen Dank für den vorschlag ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe keine Ahnung um ehrlich zu sein. :confused:

Die Daten die in dieser datei stehen, sind vom Großrechner ausgespuckt worden und bisher wurden sie immer in F&A - Datenbanken verwaltet. Aber da das programm nun ned mehr lauffähig ist auf den neueren PC's, sollte es erst in Access konvertiert werden, aber da fehlen die Lizenzen und nun in Excel.

Problematisch wird es nämlich z.B. bei diesem Format:

1111as1256

1.-4. Stelle Kundennummer

5./6. Stelle Kundenkürzel

7.-10. Stelle Rechnungsnummer

Nur das hier keine Trennung durch Leerzeichen erfolgt. Somit könnte man da ja sehr schlecht was suchen, oder?

Das Problem sind halt die hohe Anzahl an Datensätzen die es zu verarbeiten gibt.

Es gibt also nicht nur die ganz oben oder hier beschriebene Datei, sondern unterschiedliche, mit unterschiedlich vielen Spalten und Trennzeichen... ( Ich hoffe ich habe es einigermaßen verständlich erklärt :confused: )

mfg Solaris

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke du hast gleich mehrere Probleme:

1. Verschiedene (möglicherweise sogar veränderliche) Datenquellen

2. Mehrere Dateninformationen in einem Datenfeld

3. Werden die Daten regelmäßig upgedated und was soll in diesem Fall passieren.

4. VBA ist nicht gerade das schnellste, wenn es um Dateiverarbeitung geht - so kann die Konvertierung einige Zeit in Anspruch nehmen

--------------

Nun ist die Frage was du genau erreichen möchstest. (Was möchte der Kunde mit dieser Datenkonvertierung erreichen? )

- Reicht es die Daten 1:1 in Excel zu importieren oder müssen einzelne Datenfelder transformiert werden?

- Um wieviel Datensätze geht es eigentlich pro Datei?

--------------

Für den Fall, dass du eine 1:1 Abbildung in Excel ausreicht - hält sich der VBA-Script in Grenzen. Du liest Zeile für Zeile aus und überträgst die Dateien in die Excel-Tabelle.

Nach 65536 Zeilen fängst du in Excel wieder in einer anderen Spalte neu an. (Am besten fängst du an und bei Problemen machst du im Forum ein neues Thema auf.)

Wenn du aber "irgendwelche" Felder "irgendwie" aufslitten musst, dann muss das vorher eindeutig festgelegt werden. Das erhäht die Laufzeit des Scripts erheblich!

--------------

Günstig wäre außerdem eine eindeutige Definition der Datenschnittstelle (z.B. ASCII-Format und Felder durch TAB getrennt, max. Datensätze 1 Mio). Nur so kannst du auch was vernünftiges abliefern.

Ich hoffe das hilft dir :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi

Also eine andere Möglichkeit wäre doch, das in ne MySQL-Datenbank zu importieren. Die ist kostenlos und sollte damit eigentlich klar kommen. Und MySQL gibts sowohl für Linux/Unix als auch für Windows kostenlos im Internet bei MySQL.com. Und wenn das eh eigentlich in Access emacht werden sollte, ists ja so auch noch besser. ;) :cool:

Vielleicht gibts da ja sogar nen Konverter für. Und dann hat man das auch noch direkt als Datenbank da liegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...