Laravel-excel: [PREGUNTA] Tamaño de memoria permitido. ¿Error o no?

Creado en 10 mar. 2020  ·  8Comentarios  ·  Fuente: Maatwebsite/Laravel-Excel

Prerrequisitos

Versiones

  • Versión de PHP: 7.1
  • Versión de Laravel: 5.5. *
  • Versión del paquete: ^ 3.0

Descripción

tengo un error
image

Información Adicional

memory_limit = 1536M - No puedo configurar más
mi código
image

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

$data it datos de recopilación con 500000 filas +
¿Cómo puedo escribir tantos datos?

question

Comentario más útil

@fedeisas usar cola falló con error
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
pero Excel :: descargar está bien

Todos 8 comentarios

Su proceso PHP se queda sin memoria cuando lee su archivo de vista. Creo que 500000 filas es demasiado para la estrategia FromView. Puede probar el enfoque que adoptó este artículo: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Su proceso PHP se queda sin memoria cuando lee su archivo de vista. Creo que 500000 filas es demasiado para la estrategia FromView. Puede probar el enfoque que adoptó este artículo: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

No puedo usar cursor () porque uso la versión de Laravel: 5.5. *. Y obtengo los datos no solo de la base de datos, a través de cálculos en php, porque la base de datos no permite tales cálculos. En cualquier caso, tendré una matriz con 500,000 filas, antes de entregarla al archivo generador de Excel.

@patrickbrouwers Probé el enfoque del artículo pero obtengo:

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

@fedeisas ¿ qué versión de laravel estás 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

Estoy usando escrituras en cola. ¿Quizás ese es el problema?

Estoy tratando de hacer exportaciones en trabajadores distribuidos (usando S3) y el FromQuery es tremendamente lento (1 hora para una exportación de 30k filas).

Así que estoy tratando de cambiar a colecciones perezosas y cursor() sin suerte.

@fedeisas usar cola falló con error
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
pero Excel :: descargar está bien

Todavía no puedo exportar datos de 60K con la preocupación de FromQuery o LazyCollection con la configuración de memoria de 512M

¿Alguna otra configuración para implementar esto?
https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

¿Fue útil esta página
0 / 5 - 0 calificaciones