CakePHP3でCSV出力

CakePHP3でCSV出力するには、CsvViewを使うと簡単です。

https://github.com/FriendsOfCake/cakephp-csvview

プラグインを追加します。

composer require friendsofcake/cakephp-csvview

プラグインを有効化します。

bin/cake plugin load CsvView

コントローラのメソッドはこちら

$data = [
        [1, '太郎', ’aaa@aaa’],
        [2, '二郎', 'bbb@bbb'],
 ];
 $_serialize = ['data'];
$_header = [
    'ID', '名前', 'email'
];
$_csvEncoding = 'CP932';
$_newline = "\r\n";
$_eol = "\r\n";
$this->setResponse($this->getResponse()->withDownload('my-file.csv'));
$this->viewBuilder()->setClassName('CsvView.Csv');
$this->set(compact('data', '_serialize', '_header', '_csvEncoding', '_newline', '_eol'));

参考

CakePHP3を勉強したい方はこちらの書籍がおすすめです。


PHPフレームワーク CakePHP 3入門

カテゴリ:CakePHP 投稿日時:2021年3月27日 21:30


コメント

コメントはまだありません。

コメント投稿

ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。

ニックネーム

コメント

カテゴリ

新着備忘録

「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query

MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。

CakePHP3 CSSやjavascriptを更新したのに反映されない!

CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。

CakePHP3のタイムゾーン設定

CakePHP3のタイムゾーン設定方法です。

Thunderbirdで同じメールが何度も届く件

Thunderbirdで同じメールが何度も届く件についてです。

CakePHP3でCSV出力

CakePHP3でCSV出力する方法です。