Ce que je veux faire, c'est exporter un jeu de données pour Excel sans utiliser de bibliothèques extra, tierces et lourdes.
Le problème est que lorsque j'exporte le file, la première ligne semble bien, mais à partir de la deuxième ligne, elle met toutes datatables $row
dans le premier champ de la ligne actuelle.
Je reçois donc un file avec la première rangée correctement placé dans les colonnes de droite et à partir de la deuxième ligne au lieu des colonnes, je vois tout le text dans le premier champ séparé par le délimiteur (virgule)
Voici l'extrait de code que j'utilise pour le résultat.
$counter=0; $file = fopen("sample.csv", "w"); foreach ($registrants as $registrant) { $row = [ 'Fullname' => $registrant->fullname, 'Phone' => $registrant->phone, 'Email' => $registrant->email, ]; if ($counter == 0) fputcsv($file, array_keys($row)); fputcsv($file, $row); $counter++; } fclose($file);
];$counter=0; $file = fopen("sample.csv", "w"); foreach ($registrants as $registrant) { $row = [ 'Fullname' => $registrant->fullname, 'Phone' => $registrant->phone, 'Email' => $registrant->email, ]; if ($counter == 0) fputcsv($file, array_keys($row)); fputcsv($file, $row); $counter++; } fclose($file);
A également essayé de
fputcsv($file, array_values($row), ';', ' ');
Sans succès. Qu'est-ce que je fais mal? Quelle est la manière appropriée de voir les résultats corrects sur toutes les versions Excel indépendamment de l'OS ou des parameters régionaux Excel et etc.?