Zum Inhalt springen

Probleme mit .csv Dateien


Poerke

Empfohlene Beiträge

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?)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!

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...