この記事は Excel 2003 の CSV と 文字エンコーディング の関係 の改訂版です。
改訂前の記事は Excel 2003 ベースですが、YamaKenさんから Excel 2007 だとどうなるのかとの旨コメントを頂きました。
Yamakenさん、ありがとうございます。
カンマ区切り、タブ区切りそれぞれのテキストファイルを Excel 2007 で開いたときの挙動をまとめました。
先に結果を言うと、ほとんどの場合 Excel 2007 は Excel 2003 と同じ挙動を示します。
違う挙動を示すのは BOM 無しの Unicode を扱うときで、Excel 2003 のときに発生していた「このファイル形式を認識できません。」というエラーメッセージが表示されなくなっています(Excel 2003 と違う挙動を示した結果には行頭に ! を付けました)。
エラーメッセージが表示されなくても文字化けは起きるので、これは改善とはいえないです。
前回は Windows XP、今回は Windows Vista を使用して作業を行っています。
OS によって挙動が異なるということはあるかもしれません。
調査に使用した環境です。
- Windows Vista Ultimate RTM
- Excel 2007 RTM
調査に使用したテキストファイルのエンコーディングは以下の5種です。
- 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 2007 で開いたとき
Shift_JIS : 区切り文字を認識して問題なく開く。
UTF-7 : 区切り文字を認識して開く。文字化けする。
タブ区切りのファイルをダブルクリックして Excel 2007 で開いたとき
Shift_JIS : 開くが、区切り文字が認識されない。文字化けしない。
UTF-7 : 開くが区切り文字が認識されない。文字化けする。
カンマ区切りのファイルを Excel 2007 の[開く]メニューから開いたとき
Shift_JIS : 区切り文字を認識して問題なく開く。
UTF-7 : 区切り文字を認識して開く。文字化けする。
タブ区切りのファイルを Excel 2007 の[開く]メニューから開いたとき
Shift_JIS : 開くが区切り文字が認識されない。文字化けしない。
UTF-7 : 開くが区切り文字が認識されない。文字化けする。
カンマ区切りのファイルを Excel 2007 の [外部データの取り込み]メニューから開いたとき
Shift_JIS : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。
UTF-7 : [テキスト ファイル ウィザード] が起動する。「65000 : Unicode (UTF-7)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
タブ区切りのファイルを Excel 2007 の [外部データの取り込み]メニューから開いたとき
Shift_JIS : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。
UTF-7 : [テキスト ファイル ウィザード] が起動する。「65000 : Unicode (UTF-7)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
----- Unicode BOM 有り -----
カンマ区切りのファイルをダブルクリックして Excel 2007 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 開くが区切り文字が認識されない。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。
タブ区切りのファイルをダブルクリックして Excel 2007 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
UTF-16 LE : 区切り文字を自動で認識して問題なく開く。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。
カンマ区切りのファイルを Excel 2007 の[開く]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。
タブ区切りのファイルを Excel 2007 の[開く]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : 開くが区切り位置が目茶苦茶。文字化けする。
カンマ区切りのファイルを Excel 2007 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「Windows (ANSI)」として認識される。文字化けする。
タブ区切りのファイルを Excel 2007 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「Windows (ANSI)」として認識される。文字化けする。
----- Unicode BOM 無し -----
カンマ区切りのファイルをダブルクリックして Excel 2007 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
! UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
! UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。
タブ区切りのファイルをダブルクリックして Excel 2007 で開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
! UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
! UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。
カンマ区切りのファイルを Excel 2007 の[開く]メニューから開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
! UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
! UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。
タブ区切りのファイルを Excel 2007 の[開く]メニューから開いたとき
UTF-8 : 開くが区切り文字が認識されない。文字化けする。
! UTF-16 LE : 開くが、区切り位置、内容共に目茶苦茶。
! UTF-16 BE : 開くが、区切り位置、内容共に目茶苦茶。
カンマ区切りのファイルを Excel 2007 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
タブ区切りのファイルを Excel 2007 の [外部データの取り込み]メニューから開いたとき
UTF-8 : [テキスト ファイル ウィザード] が起動する。「65001 : Unicode (UTF-8)」として認識される。文字化けしない。㎥(立方メートルの記号) は表示される。
UTF-16 LE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。
UTF-16 BE : [テキスト ファイル ウィザード] が起動する。「932 : 日本語 (シフト JIS)」として認識される。文字化けする。