Класс "App\Http\Controllers\Excel" не найден в Laravel

В моем контроллере у меня есть код, как показано ниже:

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

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

            $sheet->setOrientation('landscape');

        });

    })->export('xls');

В config/app.php в массиве aliases я определил это:

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

Я не знаю, почему я не могу заставить эту работу работать с этой библиотекой... Любая идея?

Ответ 1

Вместо Excel::create вы должны использовать \Excel::create или добавить в начале своего файла после текущего пространства имен use Excel;, а затем вы сможете использовать Excel::create

И вторая ошибка заключается в том, что вы использовали:

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

и вы должны использовать:

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

вместо этого в соответствии с docs.

Ответ 2

Иногда очистка кеша конфигурации заставляет его работать

php artisan config:cache

Это должно работать после того, как вы правильно выполнили все инструкции, но все еще получаете "Приложение класса \Http\Controllers\Excel класса" не найдено в Laravel.

Ответ 3

После этого вам нужно проверить, есть ли у вас это вверху:

use Maatwebsite\Excel\Facades\Excel;

Ответ 4

Пожалуйста, добавьте excel на свой файл Использовать Excel;