Я использую 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");
Затем я использую array_merge из php:
$mergeFileData = array_merge($sheetConfig, $sheetData);
И затем я записываю свой массив в новый файл:
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($mergeFileDataEnd);
$writer = new Xlsx($spreadsheet);
$writer->save('mergedFile.xlsx');
Проблема в том, что, когда я выполняю этот код, файл слияния генерируется очень медленно, в файле Excel каждая имеет более 20 тыс. Строк и 30 столбцов. Чтобы сгенерировать Excel, мне пришлось увеличить память.сервера и время выполнения ограничено 30сек ...
Есть ли у вас идея оптимизировать время выполнения?
Редактировать: На самом деле, для создания моих файлов Excel требуется 10 минут ...