Laravel-excel: [QUESTION] Tamanho de memória permitido. Bug ou não?

Criado em 10 mar. 2020  ·  8Comentários  ·  Fonte: Maatwebsite/Laravel-Excel

Pré-requisitos

Versões

  • Versão PHP: 7.1
  • Versão do Laravel: 5.5. *
  • Versão do pacote: ^ 3.0

Descrição

obteve erro
image

informação adicional

memory_limit = 1536M - Não consigo definir mais
meu código
image

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

Dados de coleta de $data it com 500.000 linhas +
Como posso escrever tantos dados?

question

Comentários muito úteis

@fedeisas usar fila falhou com erro
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
mas Excel :: download está OK

Todos 8 comentários

Seu processo PHP fica sem memória ao ler seu arquivo de visualização. Acho que 500.000 linhas é um pouco demais para a estratégia FromView. Você pode tentar a abordagem deste artigo: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Seu processo PHP fica sem memória ao ler seu arquivo de visualização. Acho que 500.000 linhas é um pouco demais para a estratégia FromView. Você pode tentar a abordagem deste artigo: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Não consigo usar cursor () porque uso Laravel versão: 5.5. *. E eu pego os dados não só do banco de dados, através de cálculos em php, porque o banco de dados não permite tais cálculos. Em qualquer caso, terei um array com 500.000 linhas, antes de entregá-lo ao arquivo Excel gerador.

@patrickbrouwers Tentei a abordagem do artigo, mas recebo:

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

@fedeisas qual versão do laravel você está usando?

@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

Estou usando gravações enfileiradas. Talvez seja esse o problema?

Estou tentando fazer exportações em workers distribuídos (usando S3) e FromQuery é dolorosamente lento (1 hora para uma exportação de 30 mil linhas).

Então, estou tentando mudar para coleções preguiçosas e cursor() sem sorte.

@fedeisas usar fila falhou com erro
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
mas Excel :: download está OK

Ainda não consigo exportar dados de 60K com a preocupação FromQuery ou LazyCollection com configuração de memória de 512M

qualquer outra configuração para implementar isso?
https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Esta página foi útil?
0 / 5 - 0 avaliações