プログラム開発の情報や、雑記を投稿しているサイトです。

CakePHP | CsvViewプラグインの利用方法

cakephpでCSV出力をする場合、CsvViewプラグインを利用すると、とても簡単に実現できます。
詳しい説明は、公式サイトに記載されている内容で、問題なく利用できると思います。

公式サイト
https://github.com/FriendsOfCake/cakephp-csvview

今回は、下記の環境で利用する場合の補足を説明しています。

  • 環境
  • CakePHP 3.8.13

インストール

プラグイン有効化

手動でプラグインを有効化する場合には、
下記のファイルにプラグイン読み込みを追記します。

bootstrap()メソッドに、下記を追加

サンプルプログラム

シンプル出力

コントローラーに、下記のメソッドを追加します。

$_serialize にデータの変数名を指定
viewBuilder()で`CSvView.CSVを指定
$this->setで$data と$_serialize をビューに渡す

ヘッダー、フッターを出力する場合

改行やデリミタの指定方法

データベースの内容を出力

viewにcsvを関連付ける場合

/posts/export.csvでアクセスすると、csv出力されます。

CSVをダウンロードする場合

 

CSV制御オプション

CSVの出力を変更するのに、以下の変数が利用できます。

変数名 デフォルト 説明
_delimiter ',' データ区切り文字
_enclosure '"' データのクオート文字
_eol "\n" データ改行文字
_newline "\n" 新規行
_bom false BOMを出力するか
_null '' データがnullの表示値
_dataEncoding 'UTF-8' データの文字コード。iconvを利用
_csvEncoding 'UTF-8' csv表示の文字コード。iconvを利用