Excel 2010 の CSV と 文字エンコーディング の関係

この記事は Hello Another World! さんのところで公開されている


Excel 2003 の CSV と 文字エンコーディング の関係
http://cs.albis.jp/blogs/ms-18e/archive/2006/08/07/Excel-2003-_6E30_-CSV-_6830_-_8765575BA830F330B330FC30C730A330F330B030_-_6E30A295C24F_.aspx


Excel 2007 の CSV と 文字エンコーディング の関係
http://cs.albis.jp/blogs/ms-18e/archive/2007/01/25/1273.aspx


の改訂版です。改訂前の記事は Excel 2007 ベースですが、Excel 2010 について調べました。


カンマ区切り、タブ区切りそれぞれのテキストファイルを Excel 2010 で開いたときの挙動をまとめました。 先に結果を言うと、UTF-8 BOM 有りの挙動が改善されています。Excel 2010 では文字化けが発生しなくなりました。それ以外のほとんどの場合 Excel 2010 は Excel 2007 と同じ挙動を示します。


前回は Windows XPWindows Vista 今回は Windows 7 を使用して作業を行っています。OS によって挙動が異なるということはあるかもしれません。

調査に使用した環境です。

Windows 7 Ultimate RTM SP1
Excel 2010 RTM
調査に使用したテキストファイルのエンコーディングは以下の5種です。
(Hello Another World!サイトで配布されているテストデータを流用しました。)


Shift_JIS(CP932) 形式
UTF-7 形式
UTF-8 形式 (BOM 有り・BOM 無し)
UTF-16 LE 形式 (BOM 有り・BOM 無し)
UTF-16 BE 形式 (BOM 有り・BOM 無し)


CSVファイルの改行方法は全て CR+LF です。カンマ区切り、タブ区切り共に拡張子は csv としました。文字に引用符は付けていません。


UTF-7, UTF-8, UTF-16 の各 Unicode ファイルには Shift_JIS には存在しない文字として ㎥(立方メートルの記号) を含めています。


Shift_JIS(CP932) と UTF-7
カンマ区切りのファイルをダブルクリックして Excel 2010 で開いたとき
Shift_JIS : 区切り文字を認識して問題なく開く。
UTF-7 : 区切り文字を認識して開く。文字化けする。


タブ区切りのファイルをダブルクリックして Excel 2010 で開いたとき
Shift_JIS : 開くが、区切り文字が認識されない。文字化けしない。
UTF-7 : 開くが区切り文字が認識されない。文字化けする。


カンマ区切りのファイルを Excel 2010 の[開く]メニューから開いたとき
Shift_JIS : 区切り文字を認識して問題なく開く。
UTF-7 : 区切り文字を認識して開く。文字化けする。


タブ区切りのファイルを Excel 2010 の[開く]メニューから開いたとき
Shift_JIS : 開くが区切り文字が認識されない。文字化けしない。
UTF-7 : 開くが区切り文字が認識されない。文字化けする。


カンマ区切りのファイルを Excel 2010 の [外部データの取り込み]メニューから開いたとき
Shift_JIS : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。
UTF-7 : [テキスト ファイル ウィザード] が起動する。「65000 : Unicode (UTF-7)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。


タブ区切りのファイルを Excel 2010 の [外部データの取り込み]メニューから開いたとき
Shift_JIS : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。
UTF-7 : [テキスト ファイル ウィザード] が起動する。「65000 : Unicode (UTF-7)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。


Unicode BOM 有り
カンマ区切りのファイルをダブルクリックして Excel 2010 で開いたとき
UTF-8 : 区切り文字を認識して問題なく開く。
UTF-16 LE : 開くが区切り文字が認識されない。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。


タブ区切りのファイルをダブルクリックして Excel 2010 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けしない。
UTF-16 LE : 区切り文字を自動で認識して問題なく開く。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。


カンマ区切りのファイルを Excel 2010 の[開く]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。


タブ区切りのファイルを Excel 2010 の[開く]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。


カンマ区切りのファイルを Excel 2010 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「Windows (ANSI)」として認識される。文字化けする。


タブ区切りのファイルを Excel 2010 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「Windows (ANSI)」として認識される。文字化けする。


Unicode BOM 無し
カンマ区切りのファイルをダブルクリックして Excel 2010 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。


タブ区切りのファイルをダブルクリックして Excel 2010 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。


カンマ区切りのファイルを Excel 2010 の[開く]メニューから開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。


タブ区切りのファイルを Excel 2010 の[開く]メニューから開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。


カンマ区切りのファイルを Excel 2010 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。


タブ区切りのファイルを Excel 2010 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。

textfiles.zip 直