Excelファイルのインポート


インポート用のクラスを作成

php artisan make:import ItemsImport

作成したモデルのcollectionメソッドにエクセルの各行に対する処理を記述します。

<?php

namespace App\Imports;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class ItemsImport implements ToCollection
{
    /**
    * @param Collection $collection
    */
    public function collection(Collection $rows)
    {
        // ここに実際のインポート処理を実装する
        // foreach ($rows as $row) ... 
    }
}

コントローラー側の記述

コントローラーに好みのメソッドを用意して、Excel::import(new クラス名, ファイル名)を実行します

public function import(Request $request) 
{
    Excel::import(new ItemsImport, $request->file('items.xlsx'));
}