Я генерирую файл Excel, содержащий около 60000 строк в моем PHP-скрипте. Генерация необходимых данных и запись в объект objPHPExcel занимает около 18 секунд, но при сохранении их в локальном файле или отправке обратно на сервер это занимает более 30 секунд. Ниже приведены сценарии сохранения для обоих сценариев.
сохранить в локальный файл
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save("downloads/". $filename);
Сохранить вывод в браузере напрямую
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=1');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
ожидается ли задержка при сохранении больших файлов или есть способы повысить производительность при сохранении?
примечание: скрипт, генерирующий около 3500 строк Excel, запускается примерно за 3 секунды.
Задача ещё не решена.
Других решений пока нет …