Class 'App\Http\Controllers\Excel' 未在 Laravel 中找到

Class 'App\Http\Controllers\Excel' not found in Laravel

在我的控制器中,我有如下代码:

Excel::create('Laravel Excel', function($excel) {

        $excel->sheet('Excel sheet', function($sheet) {

            $sheet->setOrientation('landscape');

        });

    })->export('xls');

在 config/app.php 别名数组中我定义了这个:

'Excel'     => 'Maatwebsite\Excel\ExcelServiceProvider',

我不知道为什么我不能让它在这个库中工作... 有什么想法吗?

你应该使用 \Excel::create 而不是 Excel::create 或在当前命名空间 use Excel; 之后的文件开头添加,然后你就可以使用 Excel::create

第二个错误是您使用了:

'Excel'     => 'Maatwebsite\Excel\ExcelServiceProvider',

你应该使用:

'Excel' => 'Maatwebsite\Excel\Facades\Excel',

改为根据docs

有时,清除配置缓存使其工作

php artisan config:cache

在您已正确遵循所有说明但仍然收到 "Class 'App\Http\Controllers\Excel' not found in Laravel" 错误后这应该会起作用

完成所有这些后,您需要检查顶部是否有此内容:

use Maatwebsite\Excel\Facades\Excel;

在 laravel 5.4 中,首先使用以下命令安装作曲家

composer require maatwebsite/excel:~2.1

然后,在 config/app.php file providers

添加以下内容
Maatwebsite\Excel\ExcelServiceProvider::class,

然后,在config/app.php文件别名

中添加以下内容
'Excel' => Maatwebsite\Excel\Facades\Excel::class,

然后,将其添加到您的 控制器 文件

use Excel;