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'));
}