Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV Export nicht richtig formatiert.

CSV Export nicht richtig formatiert.
01.04.2016 23:49:26
astra
Hallo Leute,
ich versuche eine Datei in eine CSV zu exportieren.
Die Datei sollte folgende Format haben :

id,cdate,partikel,name,detailname,anr,typ,preis,mwst_key,beschreibung,pgruppe,ptemplate_file
1,"2016-03-30 13:04:57",4,"wpShopGermany DemoProdukt",,,,119.00,c,"Dies ist der Produkttext…",0, _
standard.phtml
Es kommt aber nur dieses Format bei raus
id;cdate;partikel;name;detailname;anr;typ;preis;mwst_key;beschreibung;pgruppe;ptemplate_file
394;01-04-2016 16:25;100;Elastikpuffer 10,0x 1,6mm;Elastikpuffer 10,0x 1,6mm;394;;0,10;c;;0;nivona-phtml
.. und ich finde den Fehler nicht.
Kann mir jemand helfen?
LG

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV Export nicht richtig formatiert.
02.04.2016 09:49:26
Oberschlumpf
Hi
Zeig uns mal per Upload eine csv-Datei.
Ciao
Thorsten

AW: CSV Export nicht richtig formatiert.
04.04.2016 13:21:54
fcs
Hallo Astra,
eine so spezielle Variante bei der bestimte Spalten mit Text immer in Anführungszeichen gesetzt werden kamm man nur per Makro lösen.
Gruß
Franz
Sub CSV_Spezial()
Dim wks As Worksheet
Dim strDateiCSV As String
Dim Zeile As Long, ZeileL As Long, Spalte As Long, SpalteL As Long
Dim FF As Integer
Dim strS As String 'Trenzeichen zwischen Datenfeldern
Dim strText As String, strTemp As String
strS = ","
'Dateiname CSV-DAtei
strDateiCSV = ThisWorkbook.Path & "\" & "productexport_" & Format(Time, "HHMMSS") & ".csv"
Set wks = ActiveSheet
FF = FreeFile
Open strDateiCSV For Output As FF
With wks
SpalteL = 24 'Anzahl DatenSpalten
ZeileL = .Cells(.Rows.Count, 1).End(xlUp).Row
Überschriftenzeile einlesen
Zeile = 1
strText = .Cells(1, 1).Text
For Spalte = 2 To SpalteL
strText = strText & "," & .Cells(Zeile, Spalte).Text
Next
Print #FF, strText
'restliche zeilen einlesen
For Zeile = 2 To ZeileL
strText = .Cells(Zeile, Spalte).Text 'Id
For Spalte = 2 To SpalteL
Select Case Spalte
Case 2
'Datum speziell formatiert (oder in Excel formatieren und als Text + Anfü _
hrungszeichen)
strText = strText & strS & """" & Format(.Cells(Zeile, Spalte).Value, _
"YYYY-MM-DD hh:mm:ss") & """"
Case 99
'Wert in Zelle (können mehr Zeichen sein als angezeigt.
strText = strText & strS & .Cells(Zeile, Spalte).Value 'Zahlenwerte
Case 8
strTemp = Format(.Cells(Zeile, Spalte).Value, "0.00")
strTemp = Replace(strTemp, ",", "X")
strTemp = Replace(strTemp, ".", ",")
strTemp = Replace(strTemp, "X", ".")
'Wert in Zelle is zahl der Deutsche Formatierung in Excel in US-Format umgesetzt  _
werden
strText = strText & strS & strTemp
Case 6, 7, 9, 11, 12, 13 To 24
'Inhalte wie in Excel angezeigt
strText = strText & strS & .Cells(Zeile, Spalte).Text 'Inhalte wie angezeigt
Case 4, 5, 10
'Inhalte wie angezeigt + zusätzliche Anführungszeichen
strText = strText & strS & """" & .Cells(Zeile, Spalte).Text & """"
End Select
Next
Print #FF, strText
Next
End With
Close #FF
End Sub

Anzeige
AW: CSV Export nicht richtig formatiert.
04.04.2016 19:24:39
astra
Hallo Franz,
ich habe es versucht. Aber ich bekomme es leider nicht hin.
Was mache ich falsch?
Hier die Mappe
https://www.herber.de/bbs/user/104755.xls
Gruß

AW: CSV Export nicht richtig formatiert.
04.04.2016 23:49:06
fcs
Hallo astra,
der Fehler lag nicht bei dir.
Da wollte ich nach dem Testen noch den Kommentar "Überschriftenzeile einlesen" einfügen und hab das "'" am Anfang der Zeile vergessen.
Hier das Makro mit Korrektur.
Gruß
Franz
Sub CSV_Spezial()
Dim wks As Worksheet
Dim strDateiCSV As String
Dim Zeile As Long, ZeileL As Long, Spalte As Long, SpalteL As Long
Dim FF As Integer
Dim strS As String 'Trenzeichen zwischen Datenfeldern
Dim strText As String, strTemp As String
strS = ","
'Dateiname CSV-DAtei
strDateiCSV = ThisWorkbook.Path & "\" & "productexport_" & Format(Time, "HHMMSS") & ".csv"
Set wks = ActiveSheet
FF = FreeFile
Open strDateiCSV For Output As FF
With wks
SpalteL = 24 'Anzahl DatenSpalten
ZeileL = .Cells(.Rows.Count, 1).End(xlUp).Row
'Überschriftenzeile einlesen
Zeile = 1
strText = .Cells(1, 1).Text
For Spalte = 2 To SpalteL
strText = strText & "," & .Cells(Zeile, Spalte).Text
Next
Print #FF, strText
'restliche zeilen einlesen
For Zeile = 2 To ZeileL
strText = .Cells(Zeile, Spalte).Text 'Id
For Spalte = 2 To SpalteL
Select Case Spalte
Case 2
'Datum speziell formatiert (oder in Excel formatieren und als _
Text + Anführungszeichen)
strText = strText & strS & """" & Format(.Cells(Zeile, Spalte).Value, _
"YYYY-MM-DD hh:mm:ss") & """"
Case 99
'Wert in Zelle (können mehr Zeichen sein als angezeigt.
strText = strText & strS & .Cells(Zeile, Spalte).Value 'Zahlenwerte
Case 8
'Wert in Zelle ist Zahl deren Deutsche Formatierung in Excel in _
US-Format umgesetzt werden
strTemp = Format(.Cells(Zeile, Spalte).Value, "0.00")
strTemp = Replace(strTemp, ",", "X")
strTemp = Replace(strTemp, ".", ",")
strTemp = Replace(strTemp, "X", ".")
strText = strText & strS & strTemp
Case 6, 7, 9, 11, 12, 13 To 24
'Inhalte wie in Excel angezeigt
strText = strText & strS & .Cells(Zeile, Spalte).Text 'Inhalte wie angezeigt
Case 4, 5, 10
'Inhalte wie angezeigt + zusätzliche Anführungszeichen
strText = strText & strS & """" & .Cells(Zeile, Spalte).Text & """"
End Select
Next
Print #FF, strText
Next
End With
Close #FF
End Sub

Anzeige
AW: CSV Export nicht richtig formatiert.
07.04.2016 22:37:33
astra
Danke ...
geile Sache :D
Eine Frage habe ich noch.
Ist es möglich in der CSS Datei die ID und die Artikelnummer (Spalte 1 und 6 ) links mit Nullen zu füllen. Es müssen zuammen 7 Stellen sein.
Also 345 soll 0000345 sein.
LG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige