プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Excel2010、CSVファイルを開こうとしたら「SYLKファイルであることを確認しましたが、読み込むことができません。」とか怒られた。
とあるCSVファイルをExcelで開こうとしたら

開こうとしているファイル'aaa.csv'は、実際にはその拡張子が示すファイル形式ではありません。このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルであることを確認してください。ファイルを今すぐ開きますか?

とかいうエラーが出ました。
実際の見た目はこんな感じねφ(--)
2013102901.png
※クリックで拡大します

よく分からないけど取りあえず「はい(Y)」を押したら、更に

Excel'aaa.csv'はSYLKファイルであることを確認しましたが、読み込むことができません。ファイルにエラーが含まれるか、SYLKファイル形式でない可能性があります。異なるファイル形式でそのファイルを開くには、[OK]をクリックしてください。

とかいうエラーが出ました。
実際の見た目はこんな感じねφ(--)
2013102902.png
※クリックで拡大します

よく分からないけど取りあえず「OK」を押したら、やっとこさExcelさんで開きました。

……なんで(--?
中身は普通のCSVファイルなんだけど、なんで怒られたの(--?

気になったので調べてみましたよっと。

結果(--)b

ファイルの中身の先頭が「ID」だと、ExcelさんがSYLKファイルだと解釈しちゃうらしい。
※「SYLKファイル」が何かってのはこちらからどうぞφ(--)
 ■[MP] SYLKファイルフォーマット
  http://support.microsoft.com/kb/410409/ja

今回のCSVファイルは中身が

ID,NAME
1,name1
2,name2
3,name3

のようになっていたのです。
データの先頭が「ID」で始まっていますね。

この場合、ExcelさんはCSVファイルではなくSYLKファイルと解釈し、
かつ書式がSYLKファイルの書式と違うので怒っているのだそうです。

解決方法は2つ(--)b

1.怒られても気にしない
 警告が出たら「はい(Y)」→「OK」を押す

2.データの先頭を「ID」にしない
 先頭にアポストロフィをつけて「'ID」にするとか
 項目をダブルクォートで囲んで「"ID"」にするとかですね。

個人的にはCSVの各項目はダブルクォートで囲む派なので、
今まで遭遇したことありませんでした。
CSVの項目をダブルクォートで囲まない派の人はご注意ください。
出力したCSVをExcelで開いた際に、思わぬ警告が出る可能性があります。

まとめると

1.データの先頭が「ID」で始まるテキストファイルはExcelでは「SYLKファイル」と認識される
2.「1.」によりデータの先頭が「ID」で始まるCSVファイルをExcelで開くと警告が出る
3.「2.」の解決方法は、無視する or 先頭が「ID」にならないように調整する

ってなところですね。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Microsoft Office  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事