はじめに
- 前回、Laravel Excelをインストールしたので、今回は実際に利用してみる
設定
'providers' => [
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
- 下記のコマンドを実行して構成ファイルを作成する。
- 実行するとconfig/excel.phpファイルが作成される
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
実装
- app/ Exportsフォルダにエクスポートクラスを作成する。
- make:exportコマンドを使用して作成する。
$ php artisan make:export UsersExport --model=User
- 下記のファイルが作成される。下記のファイルをコントローラーから呼び出す。
<?php
namespace App\Exports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\FromCollection;
class UsersExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return User::all();
}
}
use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;
use Maatwebsite\Excel\Excel as ExcelType;
class TestController extends Controller
{
public function export()
{
return Excel::download(new UsersExport(), 'example.xlsx', ExcelType::XLSX);
}
Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].
php artisan config:clear
stackoverflow.com
- 下記のエラーが発生した場合、下記のgithubのissueページを参考にしてみてください。
The filename and the fallback cannot contain the "/" and "\" characters.
github.com
実行結果