Convert .xlsx file to .csv file using PHP

Viewed 32998

I'm looking for a low overhead way to convert a .xlsx file to a .csv file using PHP without consuming excess memory or loading extraneous classes. Anyone?

2 Answers

You can use following code in PhpSpreadsheet.

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('CSV');

$objPHPExcel = $reader->load('csv_file.csv');
$objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($objPHPExcel, 'XLSX');
$objWriter->save('excel_file.xlsx');

If you need to lower memory usage you can provide some caching to the processing, see - https://phpspreadsheet.readthedocs.io/en/latest/topics/memory_saving/

Related