Il n'est pas nécessaire de télécharger des bibliothèques externes - tout ce dont vous avez besoin pour cela est déjà intégré à PHP.
Étapes :
- Effectuez une requête en php pour obtenir les lignes que vous souhaitez afficher
Vous pouvez utiliserSELECT * FROM table WHERE id IN (1,2,...)
- Utilisez
mysql_fetch_array()
oumysql_fetch_assoc()
pour obtenir les lignes une par une - Utilisez
fputcsv()
pour les sortir dans un fichier se terminant par csv - cela échappera correctement vos données
http://www.php.net/manual/en /function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv .php
Excel pourra lire le fichier.
Remplacer les valeurs par défaut pour fputcsv
utiliser des tabulations pour les délimiteurs et Excel aura encore plus de facilité à lire le fichier. Si vous utilisez des virgules (valeur par défaut), vous devrez peut-être choisir des virgules comme délimiteur lors de l'importation Excel.
Voici un exemple de travail en supposant que vous avez déjà configuré des lignes :
$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);