dongzhong2674 2018-10-04 07:06
浏览 813

使用PhpSpreadSheet编写excel文件非常慢

I am using PhpSpreahSheet to read multiple Excel file and merge them in one file. I read my files with this code :

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

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

Then, I use array_merge from php :

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

And then I am writing my array into a new file :

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

The problem is, when I execute this code, the merge file is very slow to be generated, about the excel file, each one has more than 20k lines and 30 columns To generate the excel I had to increase the memory of the server and the time of execution limited at 30sec...

Do you any idea to optimize the time of execution ?

Edit : In fact, it's taking 10 minutes to generate my excel files...

  • 写回答

0条回答 默认 最新

    报告相同问题?