2015-05-10 5 views
10

В моем контроллере у меня есть код, как показано ниже:класс «App Http Контроллеры Excel» не найден в Laravel

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

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

      $sheet->setOrientation('landscape'); 

     }); 

    })->export('xls'); 

В конфигурации/app.php в массиве псевдонимов я определил это:

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

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

+1

Запустил 'comper dump' из' terminal/command prompt', чтобы обновить 'autoloader'? –

ответ

16

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

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

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

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

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

вместо согласно docs.

+0

Очень странно, что он все еще не работает: s Call to undefined method Maatwebsite \ Excel \ ExcelServiceProvider :: create() – Lulzim

+0

@Lulzim Я отредактировал свой ответ –

3

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

php artisan config:cache

Это должно работать после того, как все, что вы выполнили все инструкции правильно, но по-прежнему получать «класса„App \ Http \ Контроллеры \ Excel“не найден в Laravel» ошибка

+0

Отлично, ваш ответ сработал для меня. –

0

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

use Maatwebsite\Excel\Facades\Excel; 
0

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