Der er ingen grund til at downloade eksterne biblioteker - alt hvad du behøver til dette er allerede indbygget i PHP.
Trin:
- Foretag forespørgsler i php for at få de rækker, du vil udlæse
Du kan brugeSELECT * FROM table WHERE id IN (1,2,...)
- Brug
mysql_fetch_array()
ellermysql_fetch_assoc()
for at få rækkerne én ad gangen - Brug
fputcsv()
at udlæse dem til en fil, der ender på csv - dette vil korrekt undslippe dine data
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel vil være i stand til at læse filen.
Tilsidesæt standardindstillingerne for fputcsv
at bruge faner til afgrænsning og Excel vil have endnu nemmere ved at læse filen. Hvis du bruger kommaer (standardindstillingen), skal du muligvis vælge kommaer som skilletegn ved Excel-import.
Her er et fungerende eksempel, forudsat at du allerede har opsat rækker:
$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);