Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datensätze in Excel-Datei exportieren

Es ist nicht erforderlich, externe Bibliotheken herunterzuladen – alles, was Sie dafür benötigen, ist bereits in PHP integriert.

Schritte:

  1. Führen Sie eine Abfrage in PHP durch, um die Zeilen zu erhalten, die Sie ausgeben möchten
    Sie können SELECT * FROM table WHERE id IN (1,2,...) verwenden
  2. Verwenden Sie mysql_fetch_array() oder mysql_fetch_assoc() um die Zeilen einzeln abzurufen
  3. 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);