Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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!

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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