Het is niet nodig om externe bibliotheken te downloaden - alles wat je hiervoor nodig hebt is al ingebouwd in PHP.
Stappen:
- Voer een query uit in php om de rijen te krijgen die u wilt uitvoeren
U kuntSELECT * FROM table WHERE id IN (1,2,...)
gebruiken - Gebruik
mysql_fetch_array()
ofmysql_fetch_assoc()
om de rijen één voor één te krijgen - Gebruik
fputcsv()
om ze uit te voeren naar een bestand dat eindigt op csv - dit zal correct aan uw gegevens ontsnappen
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel kan het bestand lezen.
Overschrijf de standaardinstellingen voor fputcsv
om tabs voor scheidingstekens te gebruiken en Excel zal het nog gemakkelijker hebben om het bestand te lezen. Als u komma's gebruikt (standaard), moet u mogelijk komma's gebruiken als scheidingsteken bij het importeren van Excel.
Hier is een werkend voorbeeld, ervan uitgaande dat je al rijen hebt ingesteld:
$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);