Написание файла Excel очень медленно с использованием PhpSpreadSheet - PullRequest
0 голосов
/ 04 октября 2018

Я использую 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 минут ...

...