调用未定义的方法 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);
                }
            }
        }
    }
}

原文由 Rio Aditya 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 538
2 个回答

该软件包的 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 原生方法。

原文由 jedrzej.kurylo 发布,翻译遵循 CC BY-SA 4.0 许可协议

不要惊慌:) 就这样做

Excel::toArray([],$filePath);

只需传递一个空数组作为第一个参数

原文由 konik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题