前提・実現したいこと
PHPExcel を利用し、xlsx→csv ファイルへの変換処理を行っています。
日付型 のデータを変換した際に、年月日の区切り文字によって、変換後の値が変わってしまいます。
変換後の日付型フォーマットの出力形式を'yyyy-mm-dd' に統一したいです。
該当のソースコード
- xlsx→ csv 変換処理
php
1$reader = PHPExcel_IOFactory::createReader('Excel2007'); 2$book = $reader->load("./hoge.xlsx"); // csv化するxlsxファイルパス 3$writer = PHPExcel_IOFactory::createWriter($book, 'CSV')->setDelimiter(',')); 4$writer->save("./hoge.csv");
- xlsx サンプルと、csv 変換後の値
xlsx
1日付 22020-12-31 //(ハイフン区切り) → 2020-12-31 32020/12/31 //(スラッシュ区切り) → 12-31-20
csv
1日付 22020-12-31 312-31-20
試したこと
- サーバーのlocale 設定に依存するものと考え、下記コードを前述の変換処理前に追加しましたが、結果は変わらずでした・・・。
php
1setlocale(LC_ALL, 'ja_JP.UTF-8');
補足情報(FW/ツールのバージョンなど)
PHPExcel (1.7.4)
PHP (5.6.40)
回答1件
あなたの回答
tips
プレビュー