Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PhpSpreadSheet编写excel文件非常慢_Php_Excel_Time_Spreadsheet_Phpspreadsheet - Fatal编程技术网

使用PhpSpreadSheet编写excel文件非常慢

使用PhpSpreadSheet编写excel文件非常慢,php,excel,time,spreadsheet,phpspreadsheet,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 = $r

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

我会努力的,我暂时不能,我会和你保持联系,但我不知道预计算是否会改变什么!谢谢你的回答!很抱歉耽搁了,但是没有任何改变:/如果您能够提供这些文件,那就容易多了@jeuneapprenti的解决方案非常有效。在我的例子中,将执行时间从15分钟减少到8秒。就我而言,我所有令人毛骨悚然的MS Excel公式都存在于一个隐藏的表格中。你确定你的输入文件中没有空的工作表吗?@hpaknia我花了一些时间才意识到这个选项是默认设置的。。。可能此选项的默认值应该为true。。。对不起,托托德,我没有更多的解决办法。。。