Няма нужда да изтегляте външни библиотеки – всичко, което ви трябва за това, вече е вградено в PHP.
Стъпки:
- Направете заявка в php, за да получите редовете, които искате да изведете
Можете да използватеSELECT * FROM table WHERE id IN (1,2,...)
- Използвайте
mysql_fetch_array()
илиmysql_fetch_assoc()
за да получите редовете един по един - Използвайте
fputcsv()
да ги изведете във файл, завършващ на csv - това ще избяга правилно от вашите данни
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel ще може да прочете файла.
Отменете настройките по подразбиране за fputcsv
да използвате табулатори за разделители и Excel ще има още по-лесно време за четене на файла. Ако използвате запетаи (по подразбиране), може да се наложи да изберете запетаи като разделител при импортиране на Excel.
Ето работещ пример, ако приемем, че вече имате настроени редове:
$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);