Laravel使用maatwebsite/excel3.1导出Excel报FormView接口不存在咨询
问题原因及修复方案
报错根因
你遇到的接口找不到报错是接口名称拼写错误导致的:
- maatwebsite/excel 3.1版本中,基于Blade视图导出Excel需要实现的接口是
Maatwebsite\Excel\Concerns\FromView,你的代码里写成了FormView。PHP找不到指定的FormView类时会默认去当前App\Exports命名空间下查找,因此抛出了Interface 'App\Exports\FormView' not found的错误。 - 你移除
use语句后,导出类没有实现任何导出规则接口,扩展包无法识别要导出的内容,因此生成的是空Excel文件。
修复步骤
- 修正导出类的接口引用和实现,同时删除导出类中多余的
Excel门面引入,修正后的完整代码如下:
namespace App\Exports; use App\Member\Student; use Illuminate\Contracts\View\View; use Maatwebsite\Excel\Concerns\FromView; class StudentExportView implements FromView { /** * @return \Illuminate\Contracts\View\View */ public function view(): View { return view('admin.students.custom', [ 'customs' => Student::all() ]); } }
- 确认你的视图文件
resources/views/admin/students/custom.blade.php表格结构正常,没有语法错误。 - 重新访问导出路由即可正常生成带数据的Excel文件。
内容的提问来源于stack exchange,提问作者user9277271
相关产品推荐
相关产品推荐

