Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Probleme mit .csv Dateien

Empfohlene Antworten

Hallo,

mein Anwendung hatte mit Hilfe von VB 6 aus einer Oberflächentabelle eine .txt Datei erzeugt.

Wobei Inhalte eines DS so erzeugt wurde:

With DS

stName = .Name

stVorname = .Vorname

stMerker = Replace(.Geburtsdatum, ".", "")

stGeburtsdatum = Left(stMerker, 4) & Right(stMerker, 2)

stPLZ = .PLZ

stOrt = .Wohnort

stStraße = .Straße

stNummer = .HausNr

stZusatz = .Zusatz

stGrad = CStr(.Grad) '(.Grad, "000")

stFA = CStr(.FA) ' format(.FA, "00")

stGemeinde = CStr(.Gemeinde) 'format(.Gemeinde, "000000")

stMerker = Replace(.GültigBis, ".", "")

stGültigBis = Left(stMerker, 4) & Right(stMerker, 2)

stBenutzer = .Benutzer

stBenutzer = UCase(gstBenutzerName)

stDatum = format(Date, "ddmmyy")

End With

und danach folgender DS-String an die Datei gehängt wurde:

stDatensatz = _

stName & _

stVorname & _

stGeburtsdatum & _

stPLZ & _

stOrt & _

stStraße & _

stNummer & _

stZusatz & _

stGrad & _

stFA & _

stGemeinde & _

stGültigBis & _

stBenutzer & _

stDatum

Im Ergebnis kam ein DS dieser Art heraus:

MOLZBERG HER 30111865207WIESBADEN TRUMANWEG. 2 A 05040414000999999PF40270608

Die Listen können ziemlich umfangreich sein 4-5 Tausend DS sind keine Seltenheit!

Nun sollte lt. Anwender lieber eine .csv-Datei verwendet werden, so dass sich diese mit Excel öffnen ließe!

Ich habe die Separatoren gegen ";" ausgetauscht, so dass der übergebene DS-String nun so ausschaut:

stDatensatz = _

stName & ";" & _

stVorname & ";" & _

stGeburtsdatum & ";" & _

stPLZ & ";" & _

stOrt & ";" & _

stStraße & ";" & _

stNummer & ";" & _

stZusatz & ";" & _

stGrad & ";" & _

stFA & ";" & _

stGemeinde & ";" & _

stGültigBis & ";" & _

stBenutzer & ";" & _

stDatum

Das ";" bewirkte auch zutreffend eine Spaltentrennung beim Öffnen der .csv Datei,

aber macht immer dann in den Zellen der betroffenen Spalte "Hausnummer/Zusatz" hier aus Beispieldatensatz statt 2 A => 02:00 AM!

Vermutlich bei 2 P => 02:00 PM!

Dass Erzeugen der Datei übernimmt das VB 6 Programm, der Anwender hat kein VB6 nur Excel!

So, was ewig lange währt, hier jetzt meine Frage:

Wie ist es möglich die .csv-Datei so zu erstellen, dass der Anwender die .csv Datei mit Excel so öffnen kann, dass die Angabe "2 A" nicht als Uhrzeitwert von Excel interpretiert wird?

(Gibt es vielleicht so etwas wie einen Headerteil, mit dem man dass Format der einzelnen Spalten für Excel unmissverständlich mitteilt?)

du musst bei den einzelnen feldern zusätzlich zum feldtrenner ; noch einen feldbegrenzer verwenden, z.b. das doppelhochkomma ".

d.h. so oder so ähnlich:

"MOLZBERG";"HER";"30111865207";"WIESBADEN";"TRUMANWEG. 2 A";" 05040414000999999PF40270608"(newline)

da csv grundsätzlich sprichwörtlich "kopflos" ist, kannst du zwar eine kopfzeil einbauen, excel selbst wird diese aber natürlich immer als erste datenzeile sehen. eine formatvereinbarung (datentyp der zellen) kennt CSV generell nicht.

excel hat in den meisten versionen aber ohnehin das problem, dass die datei, wenn sie nicht über "daten -> importieren" eingelesen (sondern z.b. per doppelklick geöffnet) wird, das CSV darzustellen.

s'Amstel

Ja, daran hatte es gelegen!

Obwohl die Teile der Zeichenkette einzeln für sich gesehen bereits Strings waren, so kam bei Excel durch den Separator doch wieder nur Zahlen,Datumswerte oder Text an.

Mit jeweiligem Doppelhochkomma werden die einzelnen Teile auch nur als Text interpretiert!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.