php - 使用 Laravel Excel 3.1 导出大 Excel
问题描述
您好,我需要 Laravel Excel 3.1 和 Laravel 7 的帮助。
我必须导出一个包含大约 300,000 条记录的 excel,然后下载或保存在公共文件夹中以下载...
所以当我使用这个插件时,localhost 工作正常。但在服务器中显示错误 500。我设置内存限制 = -1 和时间执行 = 1800。
出现错误 500 大约需要 10 分钟或更短的时间。
这是我的代码:
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromQuery;
class ProductsExport implements FromQuery
{
protected $filters;
use Exportable;
function __construct($filters) {
$this->filters= $filters;
}
public function query()
{
return Product::query()
->where($this->filters)
->orderby('name');
}
}
控制器
(new ProductsExport($filters)->queue('products.xlsx');
return back()->withSuccess('Export started!');
在excel.php中我只是将chunk_size配置为5000,不知道这里还需要配置什么
我知道我需要对大数据使用队列,并且我使用了它,但我不知道还能做什么。
解决方案
推荐阅读
- c# - 如果在数据库中未找到记录,我想发布未找到但似乎无法正常工作
- java - 使用缓冲区读取器读取给定输入的数据块
- java - Lat/Lng 值存储在 Firebase 中,分别分配给变量
- ios - iOS 中的自动续订订阅不要求订阅状态
- angular - 具有功能模块和 Angular 6 的 Angular Material
- python - 删除 pandas 列中 unicode 字符串的字符串化列表
- python - Flask CORS 请求后触发错误
- jquery - jQuery关于keyup的百分比计算
- dns - 未绑定的 pfsense 将内部域附加到公共查询
- c# - 任何时候都只能打开一个 ContentDialog