TRY AND ERROR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

Excelでcsvを開いたときに「SYLK:ファイル形式が正しくありません。」という警告が出る件

ちょっとハマった。。。

PHPでDBの取得結果をCSVーDLするスクリプトを書き、実際にDLして開いたところ「SYLK:ファイル形式が正しくありません。」という警告が出ました。
最初は、エンコードやらでなんかおかしなことになったか?と思ったんですが、警告が出るのはExcelで開いた時で、テキストエディタなどで開くと出ない。

ちょっと調べたところ、同様の問題について書いた記事がたくさん出てきました。

原因はExcelの仕様で、先頭セルの値が文字列の「ID」だとSYLK 形式のファイルと認識されてしまうとのこと。

https://support.microsoft.com/ja-jp/kb/215591

マイクロソフトのサポートページでは「開くことができない」とありますが、実際は警告が出るものの開けるようです。


解決方法としては、先頭に空白行を入れるか先頭セルの値を「ID」以外にすればOKとのことですが、DBレコードをCSV出力する機会は結構あると思いますし、さらにレコードの先頭カラムがIDであるケースも多いと思うので、過去にハマった人も多いんじゃないかな。。
今まで引っかからなかったのが不思議なくらいですw

ちなみに、今回は先頭セルを「ID」から「id」に変えたところ警告は出なくなりました。


こんな仕様があるとは想像もできんかったというお話でしたw