Excel

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

2018/11/27 追記

Excel for Mac 2016 のあるアップデートから UTF8-BOM が開けるようになったようです。
https://www.ka-net.org/blog/?p=7764

手元の 16.16.4 で試してみましたが開くことが出来ました。
平和になってよかったですね。

あらまし

  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 死ね