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

この記事は 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)」として認識される。文字化けする。

Published 木, 1 25 2007 16:49 by Ryosuke Uemoto
Filed under:

Comments

# メモ: CSV を Excel で扱うときの問題(未解決)

メモ: CSV を Excel で扱うときの問題(未解決)

# メモ: CSV を Excel で扱うときの問題(未解決)

メモ: CSV を Excel で扱うときの問題(未解決)

# 「Excel 2007 の CSV と 文字エンコーディング の関係」を静的サイトにまとめました

Excel 2007 の CSV と 文字エンコーディング の関係 で得た情報を静的サイトにまとめました。 Excel 2007 に様々な文字エンコーディングのテキストファイルを読み込ませる 画面のキャプチャ画像付きの記事です。ブログで公開したときよりも読み易くなっていると思います

2007年3月3日 17:27 by Hello Another World!