在 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”

在 Laravel 中找不到异常类

在 laravel 5.4 中找不到类“Illuminate\Foundation\Application”

在 laravel 4 中找不到类控制器