Es ist nicht erforderlich, externe Bibliotheken herunterzuladen – alles, was Sie dafür benötigen, ist bereits in PHP integriert.
Schritte:
- Führen Sie eine Abfrage in PHP durch, um die Zeilen zu erhalten, die Sie ausgeben möchten
Sie könnenSELECT * FROM table WHERE id IN (1,2,...)
verwenden - Verwenden Sie
mysql_fetch_array()
odermysql_fetch_assoc()
um die Zeilen einzeln abzurufen - Verwenden Sie
fputcsv()
um sie in eine Datei mit der Endung csv auszugeben - dies wird Ihre Daten korrekt maskieren
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel kann die Datei lesen.
Überschreiben Sie die Standardwerte für fputcsv
Tabulatoren als Trennzeichen zu verwenden, und Excel wird es noch einfacher haben, die Datei zu lesen. Wenn Sie Kommas (Standardeinstellung) verwenden, müssen Sie möglicherweise Kommas als Trennzeichen beim Excel-Import auswählen.
Hier ist ein funktionierendes Beispiel, vorausgesetzt, Sie haben bereits Zeilen eingerichtet:
$rows; // predefined
$filename = 'webdata_' . date('Ymd') . '.csv';
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/octet-stream");
// that indicates it is binary so the OS won't mess with the filename
// should work for all attachments, not just excel
$out = fopen("php://output", 'w'); // write directly to php output, not to a file
foreach($rows as $row)
{
fputcsv($out, $row);
}
fclose($out);