wie entkommt man dem Trennzeichen aus der Spalte Inhalt als csv exportieren
Im export der CSV-Datei, Trennzeichen ist ein "," Komma, aber im es ist ein problem, wenn die Spalte Inhalt hatte Komma , wird es brechen die csv-out setzen, wenn man auf libre office calc.
wenn jeder Körper kann mir helfen, wie man dieses Problem lösen
hier im bis jetzt
//$filename = $row['fileName'].'-ConsignmentInfo.csv';
$filename="test.csv";
$delim = ',';
$columns = array('0Product_Number', 'Product_Name', 'Alternative_Title');
echo implode($delim,$columns )."\n";
$ptr1 = DD_Db::fetch("SELECT p.pNum,p.pName,a.varcharValue FROM ds_products p left join productAttribute a on a.id=p.pID where a.attributeId= (select id FROM attribute where attributeName='alternateTitle') ");
foreach ($ptr1 as $row) {
$line = array("\"{$row['pNum']}\"","\"{$row['pName']}\"","\"{$row['varcharValue']}\"");
echo implode($delim,$line)."\n";
}
header('Content-Type: text/csv');
header("Cache-Control: no-cache, must-revalidate"); //HTTP/1.1
header('Content-Disposition: attachment; filename='.$filename);
header('Pragma: cache');
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); //Date in the past
exit;
- Wenn dies war Perl würde ich sagen, "Use Text::CSV" ... nicht PHP eine CSV-Bibliothek zur Verfügung? Rad-Neuerfindung ist in der Regel nicht eine gute Idee, und CVS-generation ist eine ziemlich häufige Rad.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach fputcsv es kümmert sich um die Flucht und die Herstellung korrekten csv-Daten.
Ausgabe:
Bearbeiten
Können Sie immer verwenden Sie eine Kombination von tmpfile zum öffnen einer Datei, werden automatisch gelöscht, am Ende der Anfrage, schreiben und dann, nachdem der Bericht erstellt Ausgang dessen Inhalt mit fread. Verwenden Sie fread seit tmpfile Rückkehr eine Ressource, sonst können Sie tempnam + file_get_contents aber in diesem Fall müssen Sie die Datei zu öffnen und zu Bereinigung nach der lese es selbst.
Der übliche Weg ist, um wickeln Sie das Stück der Daten, die mit einem paar von
"
und verwenden""
zu repräsentieren, eine doppelte Anführungszeichen in den Daten."
Zeichen und dann echo"\"$foo\""
.in Anführungszeichen setzen den Wert.
http://pt.wikipedia.org/wiki/Comma-separated_values
Können Sie tun es aus einer Abfrage mit SELECT .. INTO OUTFILE
z.B.
Wenn Sie möchten, fügen Sie eine Kopfzeile: