Laravel7 DBデータをEXCLEでダウンロードする

Laravel7 DBデータをEXCLEでダウンロードする

Laravel7でDBデータをEXCLEファイルでダウンロードするまでの手順を記述してます。ここではphpspreadsheetを使用してEXCEL操作を行います。

環境

  • OS windows10 pro 64bit
  • Composer 1.10.5
  • PHP 7.4.5
  • MariaDB 10.4.12
  • Laravel Framework 7.6.2

※windows10に Laravel のインストールはこちら
※windows10に Composer のインストールはこちら
※windows10に PHP のインストールはこちら
※windows10に MariaDB のインストールはこちら

Laravelアプリケーション作成

任意の場所で、プロジェクトを作成します 。
ここではsampleという名称で作成してます。

初期設定

.envファイル設定

環境に合わせてMariaDBとの接続情報を設定しておきます。

bootstrap導入

UIに利用しているだけです。
詳しい手順はこちらに記述してますが、下記のコマンドで利用可能になります。

日本語環境設定

configフォルダ配下の「app.php」のtimezoneとlocalを変更しておきます。

phpspreadsheet導入

下記のコマンドで導入可能です。

モデル作成

下記のコマンドを実行して、モデルとマイグレーションファイルを作成します。

「sample\app\Task.php」が作成されるので、下記の通りに編集します。

テーブル作成

モデル作成時に生成された「sample\database\migrations\xxxx_xx_xx_xxxxxx_create_tasks_table.php」を下記の通りに編集して、テーブルを作成します。

マイグレーションを実行します。

テーブル「tasks」が作成されて、カラムも作成されます。

適当なデータを作成しておきます。

EXCEL操作コントローラー作成

EXCELとしてダウンロードするためのコントローラーを作成します。

app\Http\Controllers\ExcelController.phpが作成されるので、下記の通りに編集しておきます

ルーティング追加

アクセスするURLを設定するため、ルーティングを記述します。

routes\web.phpに下記を追加します。

ビュー作成

次にレイアウト部であるviewを作成します。

resources\views内で「excel」というフォルダを作成して、フォルダ内に「show.blade.php」を下記の内容で、新たに作成します。

実行

実行します。

ブラウザから http://プライベートIP:8000/excel/show にアクセスにアクセスします。

カラム一覧が表示されているので、ダウンロードしたいカラムをチェックして「 EXCLE download 」をクリックするとEXCLEファイルがダウンロードされることが確認できます。