1
Excel / Antw:Office 2007: VBA CSV Datei lesen und bearbeiten - Sonderzeichen
« am: Mai 14, 2017, 09:43:06 Vormittag »
Ja, danke ...NB++ sagt es ist ANSI
.... also es scheint doch so, dass Excel der Verursacher ist:
ich habe eine Class geschrieben die u.a. folgendes tut (oder tun soll)
1. lesen der download Datei im csv Format
2. Analyse der Datei, abgesehen vom delimiter haben die Dateien folgende Formate:
1) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit vbLf abgeschlossen
2) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit delimiter und vbLf abg.
3) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit vbCrLf abgeschlossen,
ist dann der Fall, wenn es in den Feldern die mit "" eingeschlossen sind vbLf gibt.
4) gleich wie 3) aber zusätzlich mit delimiter vbCrLf abgeschlossen.
Format 1) und 2) werden vom onlinebanking geliefert.
Format 3) und 4) entstehen, wenn die Datei mit Excel geöffnet wurde und entweder mit speichern wieder geschlossen wurde, wobei keine Daten verändert wurden sondern allenfalls die Spaltenbreite gezogen wurde. Wobei auch ein Unterschied besteht ob mit speichern mit Close oder ... AndereFormate csv
3. die eingelesene Datei wird auf ein einheitliches Format geändert und von mehrfach Leerzeichen gesäubert.
4. diese Daten werden als Array zu Verfügung gestellt und gespeichert (als History Datei)
5. da die Banken die Belegdaten nur 3 Monate halten, wird die "History Datei" mit den jeweiligen neuen Downloads ergänzt.
6. neue Downloads weden gleich behandelt und als "updDatei" gespeichert (möglicher Weise wird hier von Excel eine andere Codepage verwendet???, da die Tatsache, dass eigentlich nur Codepage relevante Änderungen auftauchen)
7. Beim syncronisieren der Datensätze falle ich dann leider mit dem strcomp wegen des veränderten Umlaute und Zahlenformate auf die Nase.
Im Debugger sehen die arrayDaten einwandfrei aus.
Den unterschied konnte ich nur über einen entsprechenden debug.print währen des strcomp feststellen.
Fehler tritt bei ca. 30% der Datensätze auf, je nachdem ob Umlaute verwendet werden. Merkwürdiger Weise ist jedoch der Format Fehler bzgl. der Belegnummer nicht bei allen Buchungszeilen die eine solche haben festzustellen.
Any Idears?
.... also es scheint doch so, dass Excel der Verursacher ist:
ich habe eine Class geschrieben die u.a. folgendes tut (oder tun soll)
1. lesen der download Datei im csv Format
2. Analyse der Datei, abgesehen vom delimiter haben die Dateien folgende Formate:
1) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit vbLf abgeschlossen
2) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit delimiter und vbLf abg.
3) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit vbCrLf abgeschlossen,
ist dann der Fall, wenn es in den Feldern die mit "" eingeschlossen sind vbLf gibt.
4) gleich wie 3) aber zusätzlich mit delimiter vbCrLf abgeschlossen.
Format 1) und 2) werden vom onlinebanking geliefert.
Format 3) und 4) entstehen, wenn die Datei mit Excel geöffnet wurde und entweder mit speichern wieder geschlossen wurde, wobei keine Daten verändert wurden sondern allenfalls die Spaltenbreite gezogen wurde. Wobei auch ein Unterschied besteht ob mit speichern mit Close oder ... AndereFormate csv
3. die eingelesene Datei wird auf ein einheitliches Format geändert und von mehrfach Leerzeichen gesäubert.
4. diese Daten werden als Array zu Verfügung gestellt und gespeichert (als History Datei)
5. da die Banken die Belegdaten nur 3 Monate halten, wird die "History Datei" mit den jeweiligen neuen Downloads ergänzt.
6. neue Downloads weden gleich behandelt und als "updDatei" gespeichert (möglicher Weise wird hier von Excel eine andere Codepage verwendet???, da die Tatsache, dass eigentlich nur Codepage relevante Änderungen auftauchen)
7. Beim syncronisieren der Datensätze falle ich dann leider mit dem strcomp wegen des veränderten Umlaute und Zahlenformate auf die Nase.
Im Debugger sehen die arrayDaten einwandfrei aus.
Den unterschied konnte ich nur über einen entsprechenden debug.print währen des strcomp feststellen.
Fehler tritt bei ca. 30% der Datensätze auf, je nachdem ob Umlaute verwendet werden. Merkwürdiger Weise ist jedoch der Format Fehler bzgl. der Belegnummer nicht bei allen Buchungszeilen die eine solche haben festzustellen.
Any Idears?
Menü
An- und Abmelden
Partner / Links