Search code examples
csvsymfonysymfony-3.4

symfony can't export csv with date time data


Can't export file to CSV when have this line $row->getcreateAt()

$response = new StreamedResponse();
        $response->setCallback(
            function () use ($results) {
                $handle = fopen('php://output', 'w+');
                foreach ($results as $row) {
                    //array list fields you need to export
                    $data = [
                        $row->getId(),
                        $row->getcreateAt(),
                        $row->getPtfName(),
                    ];
                    fputcsv($handle, $data);
                }
                fclose($handle);
            }
        );

Solution

  • You need to format the DateTime to a string:

    $data = [
      $row->getId(),
      $row->getcreateAt()->format('Y-m-d H:i:s'),
      $row->getPtfName(),
    ];