前提・実現したいこと
PHPでCSVファイルを出力するシステムを実装しています。
時刻を出力する際に負の時刻(マイナスの時刻)も出力する際に、Excelでファイルを開くと
うまく出力できません(「0」で出力され、関数欄は=が付与されてしまいます)。
お知恵を貸してください。
例)出力したい内容
現在時刻 | 時刻 | 差 |
---|---|---|
15:00 | 15:30 | 00:30 |
16:00 | 15:50 | -00:10 |
※実際の出力例
現在時刻 | 時刻 | 差 |
---|---|---|
15:00 | 15:30 | 00:30 |
16:00 | 15:50 | 0 |
↓↓ソースコードになります
PHP
1<?php 2ini_set('default_charset', 'UTF-8'); 3 4$csv = ''; 5$csv .= '現在時刻,時刻,差'."\r\n"; 6 7$csv .= '"15:00","15:30","00:30"'."\r\n"; 8$csv .= '"16:00","15:50","-00:10"'."\r\n"; 9 10// 出力 11$travelNameFN = str_replace(' ','_',$travelName); 12$fileName = $filename."_".mb_convert_encoding($travelNameFN, 'SJIS-win', 'UTF-8').".csv"; 13header('Content-Type: application/octet-stream'); 14header('Content-Disposition: attachment; filename='.$fileName); 15echo pack('C*',0xEF,0xBB,0xBF).$csv; 16exit(); 17?>
試したこと
ダブルクォーテーションで囲ってみたりしましたが、文字列となりませんでした。
補足情報(FW/ツールのバージョンなど)
PHP 7.1
回答1件
あなたの回答
tips
プレビュー