タイトル: CSVのアップロードおよび読み込み
本稿はLaravelの「maatwebsite/excel」パッケージを使用したCSVファイルの読み込み方法を説明します。
maatwebsite/excelの導入
以下のコマンドを実行します。
composer require "maatwebsite/excel:~2.1.0" |
※2018/5/5現在、バージョン3にはインポート機能が無いのでバージョン2にしましょう。
プロバイダー登録
「config/app.php」にプロバイダーとして追加登録します。
'providers' => [ Maatwebsite\Excel\ExcelServiceProvider::class, ] ... 'aliases' => [ 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ] |
CSVの読み込み
以下はブラウザからCSVのアップロードを想定した実装例です。
【クライアント側】
<form method="POST" action="{{ url('...') }}" enctype="multipart/form-data"> |
【サーバー側】
use Excel; ... class CsvController extends Controller public function readCsv(Request $request) {
$file = $request->file('file'); $loadedFile = Excel::load( $rows = $loadedFile->toArray(); foreach ($rows as $row){ } } |
【出力結果】
[2018-05-05 10:47:41] local.INFO: row: array ( |