Det finns inget behov av att ladda ner externa bibliotek - allt du behöver för detta är redan inbyggt i PHP.
Steg:
- Fråga i php för att få de rader du vill mata ut
Du kan användaSELECT * FROM table WHERE id IN (1,2,...)
- Använd
mysql_fetch_array()
ellermysql_fetch_assoc()
för att få raderna en i taget - Använd
fputcsv()
för att mata ut dem till en fil som slutar på csv - detta kommer korrekt att undvika dina data
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel kommer att kunna läsa filen.
Åsidosätt standardinställningarna för fputcsv
att använda tabbar för avgränsare och Excel kommer att ha ännu lättare att läsa filen. Om du använder kommatecken (standard) kan du behöva välja kommatecken som avgränsare vid Excel-import.
Här är ett fungerande exempel förutsatt att du redan har rader inställda:
$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);