Tidak perlu mengunduh pustaka eksternal - semua yang Anda butuhkan untuk ini sudah ada di dalam PHP.
Langkah-langkah:
- Lakukan query di php untuk mendapatkan baris yang ingin Anda output
Anda dapat menggunakanSELECT * FROM table WHERE id IN (1,2,...)
- Gunakan
mysql_fetch_array()
ataumysql_fetch_assoc()
untuk mendapatkan baris satu per satu - Gunakan
fputcsv()
untuk menampilkannya ke file yang diakhiri dengan csv - ini akan menghindari data Anda dengan benar
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel akan dapat membaca file.
Ganti default untuk fputcsv
untuk menggunakan tab untuk pembatas dan Excel akan lebih mudah membaca file. Jika Anda menggunakan koma (default), Anda mungkin perlu memilih koma sebagai pembatas pada impor Excel.
Berikut ini contoh kerja dengan asumsi Anda sudah menyiapkan baris:
$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);