人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel-Excel で一覧リストをエクセル形式のファイルでダウンロードさせる

● Laravel Excel で一覧リストをエクセルでダウンロードさせる

1. Laravel-Excelのインストール

composer require "maatwebsite/excel"

続けてコンフィグファイルを生成します

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

2. Exportクラスの作成

ExportExcel クラスを生成します。

php artisan make:export ExportExcel

ファイル app/Exports/ExportExcel.php が自動生成されます。

3. app/Exports/ExportExcel.php の編集

次のように変更します。

<?php

namespace App\Exports;

use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;

class ExportExcel implements FromView
{
    private $view;

    public function __construct(View $view)
    {
        $this->view = $view;
    }

    /**
     * @return View
     */
    public function view(): View
    {
        return $this->view;
    }
}

4. コントローラーにダウンロード命令を記述

ファイル名 download.xlsx でダウンロードさせます。

$view = \view('estimates.excel_index', compact('estimates_rows'));
return \Excel::download(new \App\Exports\ExportExcel($view), 'download.xlsx');
No.1938
12/31 14:06

edit