Supportnet / Forum / Skripte(PHP,ASP,Perl...)
CSV Datei Ausgabe programmieren?
Frage
Ich soll eine Produktliste als CSV Datei ausgeben. CSV ist, soviel ich weiß, eine Liste deren Feldinhalte mit einem TAB voneinander getrennt sind. Nur wie mach ich das in PHP/HTML. Wie erzeug ich da ein TAB? Weiß das Jemand?
Antwort 1 von disco
moin
kannst auch mit einem ";" trennen. man kann den seperatot in excel einstellen...
ein tab erzeugste in php-string mit
$einString ="wert1\twert2";
also mit \t
g,
disco
kannst auch mit einem ";" trennen. man kann den seperatot in excel einstellen...
ein tab erzeugste in php-string mit
$einString ="wert1\twert2";
also mit \t
g,
disco
Antwort 2 von g543
Das CSV-Format ist nicht fest genormt. Meistens wird bei uns das Semikolon als Trennzeichen benutzt. Die Angelsachsen benutzen Kommas. Ich nehme auch gerne das Tabulatorzeichen, da dies häufig nicht in den Zellwerten vorkommt und es so nicht zu Verwechslungen mit der Zelltrennung kommt (das ist aber natürlich von der Natur der jeweils gespeicherten Daten abhängig).
Das Tabulatorzeichen bekommst Du in PHP durch chr(9).
Wenn Du nicht sicher sein kannst, dass das Trennzeichen innerhalb von Zellen nicht vorkommt musst Du es irgendwie maskieren.
Normalerweise geht das so (abgeschaut von Excel):
-Trennzeichen ist das Semikolon.
-Kommt ein Semikolon innerhalb einer Zelle vor, wird die Zelle in Anführungszeichen gesetzt. Bsp:
-Kommt ein Anführungszeichen innerhalb einer Zelle vor, wird es gedoppelt und die ganze Zelle kommt zusätzlich in Anführungszeichen. Bsp:
Wie Du es machst, hängt letztlich davon ab, wie die Datei weiterverwendet wird.
Wenn Du möglichst kompatibel sein willst, solltest Du es wohl so wie Excel machen.
Das Tabulatorzeichen bekommst Du in PHP durch chr(9).
Wenn Du nicht sicher sein kannst, dass das Trennzeichen innerhalb von Zellen nicht vorkommt musst Du es irgendwie maskieren.
Normalerweise geht das so (abgeschaut von Excel):
-Trennzeichen ist das Semikolon.
-Kommt ein Semikolon innerhalb einer Zelle vor, wird die Zelle in Anführungszeichen gesetzt. Bsp:
1;1;"hallo;welt";4
-Kommt ein Anführungszeichen innerhalb einer Zelle vor, wird es gedoppelt und die ganze Zelle kommt zusätzlich in Anführungszeichen. Bsp:
1;1;"ich ""mag"" dich";5
Wie Du es machst, hängt letztlich davon ab, wie die Datei weiterverwendet wird.
Wenn Du möglichst kompatibel sein willst, solltest Du es wohl so wie Excel machen.
Antwort 3 von LCaudia1975
Danke!!! Ihr habt mir wirklich sehr weitergeholfen.
LG
Claudia aus Wien
LG
Claudia aus Wien
Antwort 4 von g543
Ich sehe gerade dass PHP dafür eine eigene Funktion anbietet:
http://de2.php.net/manual/de/function.fputcsv.php
Es gibt wahrscheinlich auch nichts auf dieser Welt, wofür es nicht ne extra PHP-Funktion gibt! ;-)
@disco
\t = tab = wieder was dazugelernt, thx :-)
http://de2.php.net/manual/de/function.fputcsv.php
Es gibt wahrscheinlich auch nichts auf dieser Welt, wofür es nicht ne extra PHP-Funktion gibt! ;-)
@disco
\t = tab = wieder was dazugelernt, thx :-)
Antwort 5 von Nessus
Hi,
da ich annehme das die Daten aus einer DB kommen, schaue dir das mal an:
http://www.php-faq.de/q/q-mysql-csv-export.html
HTH
Nessus
da ich annehme das die Daten aus einer DB kommen, schaue dir das mal an:
http://www.php-faq.de/q/q-mysql-csv-export.html
HTH
Nessus