Laravel-excel: [QUESTION] Taille de la mémoire autorisée. Bug ou pas?

Créé le 10 mars 2020  ·  8Commentaires  ·  Source: Maatwebsite/Laravel-Excel

Conditions préalables

Versions

  • Version PHP: 7.1
  • Version Laravel: 5.5. *
  • Version du package: ^ 3.0

La description

obtenu une erreur
image

Informations Complémentaires

memory_limit = 1536M - Je ne peux pas en définir plus
mon code
image

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

$data it collecte des données avec 500000 lignes +
Comment puis-je écrire autant de données?

question

Commentaire le plus utile

@fedeisas utilise la file d'attente a échoué avec une erreur
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
mais Excel :: le téléchargement est OK

Tous les 8 commentaires

Votre processus PHP manque de mémoire lors de la lecture de votre fichier de vue. Je pense que 500000 lignes, c'est un peu trop pour la stratégie FromView. Vous pouvez essayer l'approche adoptée par cet article: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Votre processus PHP manque de mémoire lors de la lecture de votre fichier de vue. Je pense que 500000 lignes, c'est un peu trop pour la stratégie FromView. Vous pouvez essayer l'approche adoptée par cet article: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Je ne peux pas utiliser curseur () car j'utilise la version Laravel: 5.5. *. Et j'obtiens les données non seulement de la base de données, par le biais de calculs en PHP, car la base de données ne permet pas de tels calculs. Dans tous les cas, j'aurai un tableau de 500 000 lignes, avant de le donner au fichier Excel du générateur.

@patrickbrouwers J'ai essayé l'approche de l'article mais j'obtiens:

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

@fedeisas quelle version de laravel utilisez-vous?

@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

J'utilise des écritures en file d'attente. C'est peut-être le problème?

J'essaie de faire des exportations sur des travailleurs distribués (en utilisant S3) et le FromQuery est terriblement lent (1 heure pour une exportation de 30k lignes).

J'essaye donc de passer aux collections paresseuses et cursor() sans chance.

@fedeisas utilise la file d'attente a échoué avec une erreur
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
mais Excel :: le téléchargement est OK

Je ne peux toujours pas exporter de données 60K avec le problème FromQuery ou LazyCollection avec un paramètre de mémoire 512M

tout autre paramètre pour mettre en œuvre cela?
https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

matthewslouismarie picture matthewslouismarie  ·  3Commentaires

ellej16 picture ellej16  ·  3Commentaires

rossjcooper picture rossjcooper  ·  3Commentaires

disto picture disto  ·  3Commentaires

amine8ghandi8amine picture amine8ghandi8amine  ·  3Commentaires