【问题标题】:LaravelExcel: Interface 'App\Exports\FormView' not foundLaravelExcel:找不到接口“App\Exports\FormView”
【发布时间】:2021-10-02 04:26:28
【问题描述】:

我正在使用 Laravel 5.8 和 PHP 7.4 来开发我的项目,在这个项目中,我想从 View 的名为 students 的表中创建一个 Excel 文件。

这就是我所做的:

我在终端输入composer require maatwebsite/excel 并下载了包。

我在providers 中添加了\Maatwebsite\Excel\ExcelServiceProvider::class, config/app.php,并将'Excel' => \Maatwebsite\Excel\Facades\Excel::class, 添加为aliases

然后制作了这个新的导出文件:

php artisan make:export StudentExportView --model=App\Member\Student

这个文件包含这个:

namespace App\Exports;

use App\Member\Student;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FormView;
use Maatwebsite\Excel\Facades\Excel;

class StudentExportView implements FormView
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function view(): View
    {
        return view('admin.students.custom', [
            'customs' => Student::all()
        ]);
    }
}

并且在Controller处,我添加了这个方法:

public function export_view()
{
    return Excel::download(new StudentExportView, 'students.xlsx');
}

还有这些通往web.php的路线:

Route::get('export_view','StudentAdminController@export_view')->name('students.export_view');

但是当我退出时,我得到了这个错误:

Symfony\Component\Debug\Exception\FatalThrowableError (E_ERROR)

找不到接口“App\Exports\FormView”

那么这里出了什么问题?

注意

如果我从导出类中删除 use Maatwebsite\Excel\Concerns\FormView;,则会下载一个 excel 文件

包裹是"maatwebsite/excel": "^3.1"

【问题讨论】:

标签: php laravel laravel-5.8 maatwebsite-excel laravel-excel


【解决方案1】:

它的FromView 不是FormView

use Maatwebsite\Excel\Concerns\FromView;

class StudentExportView implements FromView

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-07-06
  • 2020-07-24
  • 2011-08-31
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
相关资源
最近更新 更多