首页 > 解决方案 > 使用 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,不知道这里还需要配置什么

我知道我需要对大数据使用队列,并且我使用了它,但我不知道还能做什么。

标签: phpexcellaravel

解决方案


推荐阅读