【问题标题】: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

标签: php laravel namespaces laravel-excel


【解决方案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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-03
        • 2017-08-05
        • 2015-07-12
        • 2021-03-29
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 2016-05-09
        相关资源
        最近更新 更多