Solaris Geschrieben 8. Juli 2002 Geschrieben 8. Juli 2002 Hallo, ich habe mal wieder ein problem. 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 Zitieren
Olli_Master Geschrieben 8. Juli 2002 Geschrieben 8. Juli 2002 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 -- Zitieren
Solaris Geschrieben 8. Juli 2002 Autor Geschrieben 8. Juli 2002 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 Zitieren
Olli_Master Geschrieben 8. Juli 2002 Geschrieben 8. Juli 2002 Warum brauch der Kunde die Daten in gerade in Excel, reicht Word/WordPad/Notepad zum suchen nicht aus? Zitieren
Solaris Geschrieben 9. Juli 2002 Autor Geschrieben 9. Juli 2002 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 Zitieren
Olli_Master Geschrieben 10. Juli 2002 Geschrieben 10. Juli 2002 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: Zitieren
Crash2001 Geschrieben 10. Juli 2002 Geschrieben 10. Juli 2002 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. Zitieren
Goos Geschrieben 11. Juli 2002 Geschrieben 11. Juli 2002 Du kannst auch n kleines C Prograemmchen schreiben um ne passende Importdatei fuer Excel zu erstellen....das geht unter Garantie etwas schneller als mit VBA Goos Zitieren
Empfohlene Beiträge
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.