Non è necessario scaricare librerie esterne:tutto ciò di cui hai bisogno è già integrato in PHP.
Passi:
- Esegui query in php per ottenere le righe che desideri generare
Puoi usareSELECT * FROM table WHERE id IN (1,2,...)
- Usa
mysql_fetch_array()
omysql_fetch_assoc()
per ottenere le righe una alla volta - Usa
fputcsv()
per emetterli in un file che termina con csv - questo sfuggirà correttamente ai tuoi dati
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel sarà in grado di leggere il file.
Sostituisci le impostazioni predefinite per fputcsv
utilizzare le schede per i delimitatori ed Excel sarà ancora più facile leggere il file. Se utilizzi le virgole (impostazione predefinita), potresti dover selezionare le virgole come delimitatore nell'importazione di Excel.
Ecco un esempio funzionante supponendo che tu abbia già impostato le righe:
$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);