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...