I am using php Spreadsheet package to generate and download csv file,
Its putting an apostrophe before number.
public function downloadCsv()
{
$spreadsheet = new Spreadsheet();
$spreadsheet->getProperties()
->setCreator("ABC")
->setTitle("Test");
$spreadsheet->setActiveSheetIndex(0)
-> setCellValue('A1', '01/02/92')
->setCellValue('A2', '01/02/92')
->setCellValue('A3', '01/04/92');
$filename = 'hello world';
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter(
$spreadsheet->getActiveSheet()
->calculateWorksheetDimension()
);
header('Content-Type: application/ vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
}
Output I am getting
'01/02/92
'01/02/92
'01/04/92
Now how to remove apostrophe before the numbers?? Thanks
Set cell value datatype from string to date
$spreadsheet->getActiveSheet()->setAutoFilter(
$spreadsheet->getActiveSheet()
->calculateWorksheetDimension()
);
/* -----add this line of code----- */
$spreadsheet->getActiveSheet()->getStyle('A1:A3')
->getNumberFormat()
->setFormatCode(
\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME
);
header('Content-Type: application/ vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With