J'essaie de faire une exportation csv sur mon projet symfony et je pense que quelque chose ne va pas parce que rien ne se passe et je n'ai pas d'erreur ... ??Export csv ne fonctionne pas avec symfony 3
public function exportCsv($customers)
{
$fileName = "export_" . date("d_m_Y") . ".csv";
$response = new StreamedResponse();
$response->setCallback(function() use ($customers){
$handle = fopen('php://output', 'w+');
// Nom des colonnes du CSV
fputcsv($handle, array('Name',
'Adress',
'City',
'Code'
), ';');
//Champs
foreach ($customers as $index => $customer)
{
//dump($client);die();
fputcsv($handle,array(
$customer->getName(),
$customer->getAdress(),
$customer->getCity(),
$customer->getCode(),
),';');
}
fclose($handle);
});
$response->setStatusCode(200);
$response->headers->set('Content-Type', 'text/csv; charset=utf-8', 'application/force-download');
$response->headers->set('Content-Disposition','attachment; filename='.$fileName);
return $response;
}
-je appeler cette fonction dans mon controleur comme ceci:
if (isset($_POST['export']))
{
$export = $exp->exportCsv($customers);
}
Avez-vous une idée, s'il vous plaît ???
ok !! merci votre votre réponse! Je l'ai fait et j'ai vu le contenu de StreamedResponse. Pour ça c'est ok mais je ne sais pas pourquoi le fichier csv ne télécharge pas ...? – Moh
Si vous voyez le contenu que vous n'avez pas ' t avoir une erreur. Peut-être que vous n'avez pas de retour dans votre action. Vous devez renvoyer votre variable 'export' mais normalement si vous ne retournez rien ' Symfony lance une erreur en disant que vous devez retourner une réponse. –