Laravel-excel: [ВОПРОС] Допустимый объем памяти. Ошибка или нет?

Созданный на 10 мар. 2020  ·  8Комментарии  ·  Источник: Maatwebsite/Laravel-Excel

Предпосылки

Версии

  • Версия PHP: 7.1
  • Версия Laravel: 5.5. *
  • Версия пакета: ^ 3.0

Описание

есть ошибка
image

Дополнительная информация

memory_limit = 1536M - больше не могу установить
мой код
image

Excel::download(new ReportExport($data), 'excel.xlsx');

$data это сбор данных с 500000 строк +
Как я могу записать столько данных?

question

Самый полезный комментарий

Ошибка использования очереди
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
но Excel :: загрузка в порядке

Все 8 Комментарий

При чтении файла представления вашему процессу PHP не хватает памяти. Я думаю, что 500000 строк - это многовато для стратегии FromView. Вы можете попробовать подход, использованный в этой статье: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

При чтении файла представления вашему процессу PHP не хватает памяти. Я думаю, что 500000 строк - это многовато для стратегии FromView. Вы можете попробовать подход, использованный в этой статье: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Я не могу использовать cursor (), потому что использую версию Laravel: 5.5. *. И данные я получаю не только из базы данных, через вычисления на php, потому что база данных не позволяет такие вычисления. В любом случае у меня будет массив из 500 000 строк, прежде чем я передам его в файл генератора Excel.

@patrickbrouwers Я пробовал подход из статьи, но получаю:

Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned

@fedeisas какую версию laravel вы используете?

@patrickbrouwers

laravel/framework                            v6.18.1            The Laravel Framework.
maatwebsite/excel                            3.1.19             Supercharged Excel exports and imports in Laravel
phpoffice/phpspreadsheet                     1.11.0             PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine

Я использую записи в очереди. Может в этом проблема?

Я пытаюсь выполнить экспорт для распределенных рабочих (используя S3), и FromQuery мучительно медленный (1 час для экспорта 30 тыс. Строк).

Поэтому я пытаюсь переключиться на ленивые коллекции и cursor() но безуспешно.

Ошибка использования очереди
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
но Excel :: загрузка в порядке

Я по-прежнему не могу экспортировать данные размером 60 КБ с помощью функции FromQuery или LazyCollection с настройкой памяти 512 МБ

любой другой параметр для реализации этого?
https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

saeedvz picture saeedvz  ·  22Комментарии

hardikdangar picture hardikdangar  ·  38Комментарии

launtony picture launtony  ·  29Комментарии

mnabialek picture mnabialek  ·  26Комментарии

abbylovesdon picture abbylovesdon  ·  25Комментарии