Laravel-excel: [FRAGE] Zulässige Speichergröße. Bug oder nicht?

Erstellt am 10. März 2020  ·  8Kommentare  ·  Quelle: Maatwebsite/Laravel-Excel

Voraussetzungen

Versionen

  • PHP-Version: 7.1
  • Laravel-Version: 5.5. *
  • Paketversion: ^ 3.0

Beschreibung

habe Fehler bekommen
image

zusätzliche Information

memory_limit = 1536M - Ich kann nicht mehr einstellen
mein Code
image

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

$data it Sammlungsdaten mit 500000 Zeilen +
Wie kann ich so viele Daten schreiben?

question

Hilfreichster Kommentar

@fedeisas use queue ist mit Fehler fehlgeschlagen
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
aber Excel :: Download ist in Ordnung

Alle 8 Kommentare

Ihr PHP-Prozess hat nicht genügend Speicher, wenn Sie Ihre Ansichtsdatei lesen. Ich denke, 500000 Zeilen sind etwas zu viel für die FromView-Strategie. Sie können den Ansatz dieses Artikels ausprobieren: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Ihr PHP-Prozess hat nicht genügend Speicher, wenn Sie Ihre Ansichtsdatei lesen. Ich denke, 500000 Zeilen sind etwas zu viel für die FromView-Strategie. Sie können den Ansatz dieses Artikels ausprobieren: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Ich kann cursor () nicht verwenden, da Laravel Version: 5.5. * Verwendet wird. Und ich bekomme die Daten nicht nur aus der Datenbank durch Berechnungen in PHP, weil die Datenbank solche Berechnungen nicht zulässt. In jedem Fall werde ich ein Array mit 500.000 Zeilen haben, bevor ich es der Generator-Excel-Datei gebe.

@patrickbrouwers Ich habe den Ansatz aus dem Artikel ausprobiert, aber ich bekomme:

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

@fedeisas Welche Version von Laravel benutzt du?

@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

Ich verwende Schreibvorgänge in der Warteschlange. Vielleicht ist das das Problem?

Ich versuche, Exporte für verteilte Worker (mit S3) durchzuführen, und das FromQuery ist schmerzhaft langsam (1 Stunde für einen Export von 30.000 Zeilen).

Also versuche ich ohne Glück zu faulen Sammlungen und cursor() zu wechseln.

@fedeisas use queue ist mit Fehler fehlgeschlagen
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
aber Excel :: Download ist in Ordnung

Ich kann immer noch keine 60K-Daten mit FromQuery-Bedenken oder LazyCollection mit 512M-Speichereinstellung exportieren

Gibt es eine andere Einstellung, um dies zu implementieren?
https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen