Laravel Excelの紹介(Laravel:Excelファイル入出力ライブラリ)

今回はLaravelのライブラリの一つLaravel Excelについて紹介したいと思います。

公式:http://www.maatwebsite.nl/laravel-excel/docs

GitHub:https://github.com/Maatwebsite/Laravel-Excel

 

Laravel ExcelはExcelファイルやCSVファイルを簡単にインポート、エクスポー トできるようになるライブラリです。また、LaravelのEloquentとの相性がとても良くできています。なおLGPLライセンスです。

 

それではLaravel Excelの導入方法と使い方について簡単に説明していきたいと思います。

(Laravel5を想定)

 

導入方法

まず始めにcomposer.jsonのrequire部分にパッケージを追加し composer update を実行します。これによりPHPOfficeのPHPExcelも同時にインストールされます。

 

その後に、config/app.phpのproviders arrayの中に以下を追加。

また、aliasses arrayの中に以下を追加します。

これでLaravel Excelの使う準備はできました!

 

出力方法

ファイル名と出力形式

まずは基本形です。

createメソッドの第一引数に出力するファイル名。そして ->export($ext) によって出力形式を指定します。出力形式は上記のxlsxの他、xls, csvやpdfを指定することができます。(pdfを使用する場合は、 "dompdf/dompdf": "~0.6.1" , "mpdf/mpdf": "~5.7.3" , "tecnick.com/tcpdf": "~6.0.0" のいずれかのライブラリが追加で必要。)

 

->export($ext) と ->download($ext) は同じ処理がされます。また代わりに ->store($ext) を使うことで、サーバーのapp/storage/exportsに保存する処理となります。storeメソッドは第二引数にpathを指定することで自由に保存場所を変更できます。

 

シートの操作

次にシートに関する情報の書き込み方を説明します。先程の基本形のファイルを書き込む部分に追加していきます。

sheetメソッドを使うことによってシートを作成でき、並べることによって複数のシートを作成可能です。第一引数にシート名を指定しています。

 

次にLaravelのEloquentを使って、実際シートにデータを入れてみましょう。

Bookというモデルがあったとして、fromArrayメソッドにそのモデルを渡すだけで、

1行目に$booksのキー名、2行目以降が$booksの値が入ったExcelファイルがダウンロード可能となります。

 

fromArrayメソッドでは、複数行を一気にデータを書き込むことできましたが、row, appndRowメソッドを使うことで一行ずつデータを書き込むこともできます。

以上がシートの操作となります。

 

セルの操作

シートの操作では主にデータの書き込みでしたが、セルの操作では書式設定(フォント、色、罫線)が行えます。以下が基本形となります。

・フォントに関して

・罫線

・水平方向・垂直方向の位置

 

セルサイズ

セルの幅や高さの指定はシートの操作の一部です。

 

まとめ

上述したようにLaravel Excelを使うことでLaravelで扱っているデータを簡単・綺麗にエクセルファイルで出力することができます。紹介したメソッド以外にも”行の固定”や”セルの結合”等様々なことができるので、ぜひ利用してもらいたいです。また、出力以外に入力もできるので別の機会に紹介できたらと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です