Php 调用未定义的方法Maatwebsite\Excel\Excel::load()
我正在尝试使用maatwebsite 3.0导入excel文件(.xlsx)。如何修复此错误 调用未定义的方法Maatwebsite\Excel\Excel::load() 我的控制器Php 调用未定义的方法Maatwebsite\Excel\Excel::load(),php,excel,laravel,laravel-5,maatwebsite-excel,Php,Excel,Laravel,Laravel 5,Maatwebsite Excel,我正在尝试使用maatwebsite 3.0导入excel文件(.xlsx)。如何修复此错误 调用未定义的方法Maatwebsite\Excel\Excel::load() 我的控制器 public function importsave(Request $request) { if($request->hasFile('excel')) { $path = $request->file('excel')->getRealPath();
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);
}
}
}
}
}
该软件包的版本3.0尚未处理导入。此功能的发布日期未知。有关更多详细信息,请参阅本文:
我建议您切换到第2版。*您好,在第3版中,加载方法是删除的,因此请切换回第2版,就像这样,尝试使用此命令
composer需要“maatwebsite/excel:~2.1.0”
3.0版的Laravel excel不处理导入
您还可以使用与导入一起使用的替代软件包,例如:
- (拉维尔Excel Fork)
- (Laravel Excel的更快替代品)
您也可以切换到版本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不提供方便的样式设置方法,建议您使用PHPSReadSheets本机方法。
^3.0
版本的maatwebsite/excel
不支持加载。首先删除
config/excel.php
文件
通过将composer.json
文件从
“maatwebsite/excel”:“^3.1”
,到“maatwebsite/excel”:“~2.1.0”
,并执行“编写器更新”
如果出现错误:
2.1版本中未定义的类常量“XLSX”
这是你必须做的降级前删除config/excel.php,然后执行composer更新。@RioAditya您能将问题标记为已回答吗?3.1版现在可以使用导入功能。我的整个项目都在laravel 6.18中,现在我无法安装maatwebsite/excel 2.1或任何更接近的版本,请help@Swarnadeep您是否安装了maatwebsite/excel 2.1并进行了检查?它实际上是“maatwebsite/excel”:“~2.1.0”给出了一个错误”-结论:删除laravel/framework v5.8.18”,因此它可能与新版本不兼容。我有v2.1 maatwebsite/excel和5.8 laravel我需要降级我的laravel版本吗\不适用于laravel 6,其依赖项不匹配