调用未定义的方法 Maatwebsite\Excel\Excel::load()

我正在尝试使用 maatwebsite 3.0 导入 excel 文件(.xlsx)。如何修复此错误

调用未定义的方法 Maatwebsite\Excel\Excel::load()

我的控制器

public function importsave(Request $request)
{
   if($request->hasFile('excel'))
    {
        $path = $request->file('excel')->getRealPath();
        $data= Excel::load($path, function($reader) {})->get();
        if(!empty($data) && $data->count())
        {
            foreach($data->toArray() as $key=>$value)
            {
                if(!empty($value))
                {
                    Employee::insert($value);
                }
            }
        }
    }
}

答案 1

该软件包的 3.0尚不处理导入。此功能的发布日期未知。有关更多详细信息,请参阅此帖子: https://medium.com/@maatwebsite/laravel-excel-lessons-learned-7fee2812551

我建议你切换到版本2。*.

否则,您希望进一步继续 所有Laravel Excel 2.*方法均已弃用,将无法在3.0中使用。

   Excel::load() is removed and replaced by Excel::import($yourImport)
    Excel::create() is removed and replaced by Excel::download/Excel::store($yourExport)
    Excel::create()->string('xlsx') is removed an replaced by Excel::raw($yourExport, Excel::XLSX)

3.0 没有提供方便的样式设置方法,我们鼓励您使用 PhpSpreadsheets 原生方法。


答案 2

嗨,在版本3中,加载方法已被删除,因此请切换回版本2,例如尝试使用此命令,

composer require "maatwebsite/excel:~2.1.0"


推荐