حصلت على خطأ
memory_limit = 1536M - لا يمكنني تعيين المزيد
رمز بلدي
Excel::download(new ReportExport($data), 'excel.xlsx');
$data
يجمع البيانات مع 500000 صف +
كيف يمكنني كتابة الكثير من البيانات؟
تنفد ذاكرة عملية PHP الخاصة بك عند قراءة ملف العرض الخاص بك. أعتقد أن 500000 صف أكثر من اللازم بالنسبة لاستراتيجية FromView. يمكنك تجربة النهج الذي اتبعه هذا المقال: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/
تنفد ذاكرة عملية PHP الخاصة بك عند قراءة ملف العرض الخاص بك. أعتقد أن 500000 صف أكثر من اللازم بالنسبة لاستراتيجية FromView. يمكنك تجربة النهج الذي اتبعه هذا المقال: https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/
لا يمكنني استخدام المؤشر () لأن إصدار Laravel: 5.5. *. وأحصل على البيانات ليس فقط من قاعدة البيانات ، من خلال الحسابات في php ، لأن قاعدة البيانات لا تسمح بمثل هذه الحسابات. على أي حال ، سيكون لدي صفيف به 500000 صف ، قبل أن أعطيها إلى ملف Excel للمولد.
patrickbrouwers لقد جربت النهج من المقالة لكني حصلت على:
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
fedeisas أي إصدار من Laravel تستخدمه؟
تضمين التغريدة
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
أنا أستخدم عمليات الكتابة في قائمة الانتظار. ربما هذه هي المشكلة؟
أحاول القيام بالتصدير على العمال الموزعين (باستخدام S3) و FromQuery
بطيء بشكل مؤلم (ساعة واحدة لتصدير 30 ألف صف).
لذلك أحاول التبديل إلى المجموعات البطيئة و cursor()
بدون حظ.
fedeisas فشل استخدام قائمة الانتظار بسبب الخطأ
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
لكن Excel :: التنزيل على ما يرام
ما زلت لا أستطيع تصدير بيانات 60K مع مخاوف FromQuery أو LazyCollection مع إعداد ذاكرة 512M
أي إعداد آخر لتنفيذ هذا؟
https://stefanzweifel.io/posts/lazy-collections-in-laravel-excel/
التعليق الأكثر فائدة
fedeisas فشل استخدام قائمة الانتظار بسبب الخطأ
Return value of Maatwebsite\Excel\QueuedWriter::exportCollection() must be an instance of Illuminate\Support\Collection, instance of Illuminate\Support\LazyCollection returned
لكن Excel :: التنزيل على ما يرام