在 Laravel 中找不到类“App\Http\Controllers\Excel”
Posted
技术标签:
【中文标题】在 Laravel 中找不到类“App\\Http\\Controllers\\Excel”【英文标题】:Class 'App\Http\Controllers\Excel' not found in Laravel在 Laravel 中找不到类“App\Http\Controllers\Excel” 【发布时间】:2015-07-21 05:14:07 【问题描述】:在我的控制器中,我的代码如下:
Excel::create('Laravel Excel', function($excel)
$excel->sheet('Excel sheet', function($sheet)
$sheet->setOrientation('landscape');
);
)->export('xls');
在别名数组的 config/app.php 中我定义了这个:
'Excel' => 'Maatwebsite\Excel\ExcelServiceProvider',
我不知道为什么我不能让它在这个库中工作...... 有什么想法吗?
【问题讨论】:
您是否从terminal/command prompt
运行composer dump
来更新autoloader
?
【参考方案1】:
你应该使用\Excel::create
而不是Excel::create
,或者在当前命名空间use Excel;
之后的文件开头添加,然后你就可以使用Excel::create
第二个错误是你使用了:
'Excel' => 'Maatwebsite\Excel\ExcelServiceProvider',
你应该使用:
'Excel' => 'Maatwebsite\Excel\Facades\Excel',
而是根据docs.
【讨论】:
很奇怪,它仍然不起作用:s 调用未定义的方法 Maatwebsite\Excel\ExcelServiceProvider::create()【参考方案2】:有时,清除配置缓存使其工作
php artisan config:cache
这应该可以在你正确遵循所有说明但仍然得到 "Class 'App\Http\Controllers\Excel' not found in Laravel" 错误
【讨论】:
【参考方案3】:在这一切之后,你需要检查你是否在顶部有这个:
use Maatwebsite\Excel\Facades\Excel;
【讨论】:
【参考方案4】:在 laravel 5.4 中,首先使用以下命令安装 composer
composer require maatwebsite/excel:~2.1
然后,在 config/app.php 文件提供程序中添加以下内容
Maatwebsite\Excel\ExcelServiceProvider::class,
然后,在 config/app.php 文件别名中添加以下内容
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
然后,将其添加到您的 controller 文件中
use Excel;
【讨论】:
以上是关于在 Laravel 中找不到类“App\Http\Controllers\Excel”的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 5 中找不到类“App\Http\Controllers\Artisan”
在 Laravel 5.2 中找不到类“App\Http\Controllers\Session”[重复]
在 Laravel 5 中找不到类“App\Http\Controllers\admin\Auth”