如何使用chunk方法使用Laravel excel进行文件上传?

时间:2017-12-22 19:36:29

标签: php excel laravel import upload

public function uploadNotaCorte(Request $request, EstadoRepository $estadoRepository)
{
    $error      = array();
    $path       = $request->file('file')->getRealPath();
    $notasCorte = Excel::load($path, function($reader) {
    })->get();

    $chunk      = $notasCorte->chunk(100);

    foreach ($notasCorte as $key => $notaCorte) {
    //RULES
   }return  $error;
}

** 大家好,我是编程的新手,我很难实现chunk方法,所以上面的dodigo通常适用于小文件加上更大的错误文件,因为它的大小。 我需要上传一个包含120,000条记录的文件,我正在尝试使用这个块,我不知道我能做什么错了已经看过文档更多而且非常简单,我无法解决问题,任何人都可以帮助我吗? ?**

1 个答案:

答案 0 :(得分:0)

假设您使用的是maatwebsite/excel套餐,此链接应有所帮助:http://www.maatwebsite.nl/laravel-excel/docs/import#chunk

您希望将代码更改为以下内容:

public function uploadNotaCorte(Request $request, EstadoRepository $estadoRepository)
{
    $error = array();
    $path = $request->file('file')->getRealPath();

    Excel::filter('chunk')->load($path)->chunk(100, function($results)
    {
        foreach($results as $row)
        {
            // RULES
        }
    });

    return  $error;
}

这还没有经过测试,而且我从未使用过这个套餐(虽然知道它存在很好)所以你的里程可能会有所不同。