obtenu une erreur
memory_limit = 1536M - Je ne peux pas en définir plus
mon code
Excel::download(new ReportExport($data), 'excel.xlsx');
$data
it collecte des données avec 500000 lignes +
Comment puis-je écrire autant de données?
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/
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