EasyExcel读取大文件超时问题-分块读取

今天遇到反馈说excel读取失败,然后看了下上传的文件中有6w多行数据,导致请求超时和内存溢出问题,然后就去官网看了有没有解决方案,发现了分块读取方法,设置每次读取条目,进行读取,增加接口的请求时长,最终解决了这个问题


use Dcat\EasyExcel\Excel;
use Dcat\EasyExcel\Contracts\Sheet as SheetInterface;
use Dcat\EasyExcel\Support\SheetCollection;

// 每100行数据为一批数据进行读取
$chunkSize = 100;

Excel::import('/tmp/users.xlsx')
    ->first()
    ->chunk($chunkSize, function (SheetCollection $collection) {
        
        // 读取对应分块的excel内容
         $rows = $collection->toArray();

     });
     

你可能感兴趣的:(PHP,excel,php)