【Laravel】CSV出力する方法

Laravel 8でCSV出力を行うには、以下の手順を実行します。
maatwebsite/excelパッケージのインストール
Laravel Excelパッケージを使用してCSVファイルを生成します。まず、Composerを使用してパッケージをインストールします。
composer require maatwebsite/excelconfig/app.phpの設定
config/app.phpファイルを開き、providers配列に次の行を追加します
'providers' => [
    // ...
    Maatwebsite\Excel\ExcelServiceProvider::class,
],また、aliases配列に次の行を追加します。
'aliases' => [
    // ...
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
],コントローラーの作成
php artisan make:controller CsvExportControllerコマンドを使用して、CSVエクスポート用の新しいコントローラーを作成します。
php artisan make:controller CsvExportControllerCsvExportControllerの実装
作成されたCsvExportController.phpファイルを開き、以下のコードを追加します。
<?php
namespace App\Http\Controllers;
use App\Models\YourModel; // モデル名を適切に置き換えてください
use Maatwebsite\Excel\Facades\Excel;
class CsvExportController extends Controller
{
    public function export()
    {
        $data = YourModel::all(); // モデル名を適切に置き換えてください
        return Excel::download(function ($writer) use ($data) {
            $writer->setTitle('Data Export');
            $writer->setCreator('Your Name');
            $writer->sheet('Sheet 1', function ($sheet) use ($data) {
                $sheet->fromArray($data);
            });
        }, 'data.csv');
    }
}上記のコードでは、YourModelを適切なモデル名に置き換えています。また、setTitleやsetCreatorメソッドを使用して、CSVファイルの詳細情報を設定できます。
ルートの設定
routes/web.phpファイルを開き、以下のルートを追加します。
use App\Http\Controllers\CsvExportController;
Route::get('/export-csv', [CsvExportController::class, 'export']);CSV出力の実行
- ブラウザやAPIクライアントから /export-csvにアクセスすると、CSVファイルがダウンロードされます。
これで、Laravel 8でCSV出力が行われます。
 
  
  
 