使用PhpSpreadSheet写入Excel文件非常慢

时间:2018-10-04 07:06:07

标签: php excel time spreadsheet phpspreadsheet

我正在使用PhpSpreahSheet读取多个Excel文件并将它们合并到一个文件中。 我使用以下代码读取了文件:

$readerData = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadData = $readerData->load("File/file1.xlsx");

$readerData = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadData = $readerData->load("File/file2.xlsx");

然后,我使用来自php的array_merge:

$mergeFileData = array_merge($sheetConfig, $sheetData);

然后我将数组写入新文件:

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($mergeFileDataEnd);
$writer = new Xlsx($spreadsheet);
$writer->save('mergedFile.xlsx');

问题是,当我执行此代码时,合并文件的生成速度非常慢,关于excel文件,每个文件有超过20k行和30列 为了生成excel,我必须增加服务器的内存,并且执行时间限制为30秒...

您有什么想法可以优化执行时间吗?

编辑:实际上,生成我的excel文件需要10分钟...

0 个答案:

没有答案