web-dev-qa-db-ja.com

未定義のメソッドMaatwebsite \ Excel \ Excel :: create()の呼び出し-laravel 5.6

アプリケーションでMaatwebsite/Excelを使用していますが、エラーが発生した場合

未定義のメソッドMaatwebsite\Excel\Excel :: create()の呼び出し

私のコントローラーの1つから。私はlaravel 5.6を使用しており、これを解決するためにドキュメントと他の非常に少数の関連する議論をオンラインで厳密に実行しましたが、それでもエラーが発生します。

このエラーを解決するにはどうすればよいですか?

app.php

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

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

コントローラー

$cl = ClassModel::Select('name')->where('code',$input->class)->first();
        $input->class=$cl->name;
        $fileName=$input->class.'-'.$input->section.'-'.$input->session.'-'.$input->exam;
        // return $students;
        Excel::create($fileName, function($Excel) use($input,$subjects,$students) {
            $Excel->sheet('New sheet', function($sheet) use ($input,$subjects,$students) {
                $sheet->loadView('app.Excel',compact('subjects','input','students'));
            });
        })->download('xlsx');
4
user9653376

を使用してバージョンを減らしてみてください:

composer require "maatwebsite/Excel=2.1.0"
1
Zakaria Acharki

3. *パッケージを使用しているときに2. *構文を使用しています。こちらの正しいドキュメントを参照してください: https://laravel-Excel.maatwebsite.nl/docs/3.0/export/basics

2

バージョン2に切り替えてください*

そのパッケージのバージョン3.0は、まだインポートを処理していません。この機能のリリース日は不明です。詳細については、この投稿を参照してください: maatwebsite

パッケージの新しいバージョンには多くの変更があります。

Require配列内のcomposer.jsonファイルで、パッケージを次のように置き換えます。

"maatwebsite/Excel": "~2.1.0",

次に、composer updateを実行します。これは正常に機能するはずです。

0
Saurabh