Nie ma potrzeby pobierania zewnętrznych bibliotek - wszystko, czego potrzebujesz, jest już wbudowane w PHP.
Kroki:
- Wykonaj zapytanie w php, aby uzyskać wiersze, które chcesz wyprowadzić
Możesz użyćSELECT * FROM table WHERE id IN (1,2,...)
- Użyj
mysql_fetch_array()
lubmysql_fetch_assoc()
aby uzyskać rzędy pojedynczo - Użyj
fputcsv()
wyprowadzić je do pliku kończącego się na csv - spowoduje to prawidłowe uniknięcie danych
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel będzie mógł odczytać plik.
Zastąp ustawienia domyślne dla fputcsv
aby używać tabulatorów jako ograniczników, a Excel będzie miał jeszcze łatwiejszy czas na czytanie pliku. Jeśli używasz przecinków (domyślnie), może być konieczne wybranie przecinków jako separatora podczas importu programu Excel.
Oto działający przykład zakładając, że masz już skonfigurowane wiersze:
$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);