クマの手も借りたい
馬とテニスとリラックマが好きな IT 系のエンジニアです。
PHP

LaravelでExcelのインポートとエクスポートを行う

Laravel には PHPExcel のラッパークラスライブラリが提供されています。

その名も「Laravel Excel」

しかし、PHPExcel のサポートが終了し、現在は後継の PhpSpreadsheet が主流となっているため、Laravel Excel もバージョン 2.1 系から 3.0 系へと移行が進められています。

そもそも Laravel Excel のバージョン 3.0 系ではエクスポートの機能しか提供されておらず、インポートの操作ができません。

今回はその問題解決に踏み込んでみます。

仕方なく2.1系を使う

Laravel Excel の git ブランチを見ても新たに 3.1 が開発されている形跡はなく、まだインポート機能の提供は期待できません。

開発者とのやり取りを見ても、今の段階ではインポート機能の提供についてあまり前向きな発言が見受けられませんし、インポート機能がないとパッケージの意味がないじゃないかという意見も出ています。

よって、結論としてはバージョン 2.1 系を使うしかありません。

また、Laravel5.5 の場合は 2.1 の初期バージョンでは非対応なので、2.1 系の最新バージョンを使う必要があります。

$ composer require "maatwebsite/excel:~2.1.0"

3.0系を使う場合

エクスポートの機能だけで十分という方は、ぜひ 3.0 系を使いましょう。

2.1 系の時よりもモデルとの連携がしやすい印象があります。

3.0 系の要件は以下の通りなので、古い PHP や Laravel のバージョンを使っている場合はバージョンアップの必要があります。

phpexcel -> PhpSpreadsheet

Requirements
PHP: ^7.1
Laravel: ^5.5
PhpSpreadsheet: ^1.2
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/09/20 11:58:13時点 Amazon調べ-詳細)

あなたにオススメ