Win/Mac どちらの Excel でも正しく開ける Unicode な csv の出力方法

More than 1 year has passed since last update.

あらまし

  1. まず UTF-8 で吐いた csv を Excel で開いてみます。化けます。
  2. 仕方がないので BOM をつけてみます。 Win だと正しく開けました!でも Mac で化けます。
  3. それならと UTF-16LE で吐いてみましょう。Win/Mac どちらも化けずに表示されました!これで大丈夫かと思いきやなんとカンマ区切りされず A 列に 1 行まるごと収まっています。死にます。
  4. 仕方がないので tsv で出力してみましょう。すごい!ちゃんと表示されています!でも .tsv はデフォルトでは Excel には関連付けられていないのでダブルクリックでは開けません!これでは .tsv とか意味わからんファイル出力してんじゃねーよ死ねよとか怒られてしまいます。
  5. ならばと拡張子を .csv に偽装してみましょう。なんと正しく表示されました!これなら怒られないし完璧ですね!あれ、でもこれ csv じゃない!!!

まとめ

UTF-16LE な tsv 形式の .csv な拡張子のファイルなら Win/Mac どちらでもダブルクリックで開ける。
インポート操作を許容するなら csv 形式でもデリミタをカンマに変更することによって正しく開けます。

終わりに

Excel 死ね

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.