laravel excel 不能完整导出数据
使用 Maatwebsite\Excel 导出数据,由于数据量比较大,现在有2W多条,以后会不断增长。直接导出会报内存溢出。按文档中使用队列方式导出,但是总是只执行一批后队列退出,无法继续导出。
LogExport如下:
namespace App\Exports;
use App\Models\Log;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromQuery;
class LogExport implements FromQuery
{
use Exportable;
public function query()
{
return Log::query();
}
}
控制器中调用:
public function export(Request $request)
{
(new LogExport)->queue('logs_'.time().'.xlsx')->allOnQueue('exports');
return back()->withSuccess('Export started!');
}
队列监听:

调用导出后能正常导出一部分数据,根据导出的数据判断,应该是只执行了第一次分片的1000条数据导出,然后队列就直接被终止了。求教各位大神,这玩意儿要怎么玩才行啊。excel.php里面的配置 driver 设置成了batch,memory_limit设置成6000000,依然还是这个问题。始终无法正常导出。
关于 LearnKu
设置一下querySize
@风吹过有夏天的味道 感谢回复。加上querySize以后,队列倒是能正常跑完了。但是生成的excel文件里面就只有1000条数据。 :joy: 请问是哪点有问题么。。。
方便装扩展的话,可以用xlswriter试试,xlswriter-docs.viest.me/
这个问题是怎么解决了老哥,遇到同样的问题,4年前帖子不知道老哥还看不