Skip to content

Instantly share code, notes, and snippets.

@xl1
Created October 24, 2015 06:56
Show Gist options
  • Save xl1/5bc2b1a6cb57aff3094c to your computer and use it in GitHub Desktop.
Save xl1/5bc2b1a6cb57aff3094c to your computer and use it in GitHub Desktop.
Unicode 範囲の文字を含む CSV ファイルを Git で管理しつつエクセルでも編集したい

Unicode 範囲の文字を含む CSV ファイルを Git で管理しつつエクセルでも編集したい

結論: どれかを諦めなければならない、エクセルを捨てる

形式 Unicode Excel Git
Shift_JIS(CP932) CSV × △ デフォルトでは diff が化ける
UTF-16LE TSV × バイナリファイルとして扱われる
UTF-8 CSV ×
xlsx × バイナリ
XML spreadsheet △ コンフリクトしやすい

CSV エディタを使うとオートフィルタや条件付き書式や VLOOKUP が恋しくなるのでエクセルを使いたかった

CP932 や UTF-16 に対応した diff/merge tool を使うか、 git の smudge/clean filter で文字コードを変換するよう設定すれば git の問題は解決するかもしれないが、 git config を設定し、Windows の場合は nkf や iconv を別途入れ、というのを 関係者全員にやってもらう必要がある

XML spreadsheet とかいうのを使えば、XML なのでテキストファイルとしては扱いやすいが、 著者情報やセル幅などが意図せず変更されてしまいコンフリクトしやすい。 また他のツールでサポートされていないか、扱いにくいことが多い (わざわざ CSV を使っているのは他のツールで使うためだろうから、これでは本末転倒)

UTF-8 CSV にしてエクセルは捨てるというのがよい、 LibreOffice や、一部の CSV エディタでは、UTF-8 のファイルを扱うことができる

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment