我正在使用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分钟...