現象
Microsoft Office Access 2007 以降のバージョンで、半角スペースから始まるデータを xlsx 形式でエクスポートします。
作成されたファイルを Excel で表示したときに、先頭の半角スペースが表示されません。
この現象は、以下の文字で発生します。
文字コード 説明
--------------------------------
9 水平タブ
10 LF
32 半角スペース
原因
この現象は、Access データベース エンジンの Excel ISAM ドライバが、t 要素に xml:space="preserve" 属性を定義せずに xlsx 形式のファイルを作成するために発生します。
t 要素に xml:space="preserve" 属性がないファイルを Excel で開くとき、Excel は半角スペースを表示しません。
この Excel の動作自体は想定された動作です。
回避策
以下のいずれかの方法で回避してください。
方法 1 : Access でエクスポートするときに、[ファイル形式] を「Excel 97-2003 ブック (*.xls)」にする
方法 2 : xlsx 形式のファイルから、Access テーブルをインポートする
- 手順
-
xlsx 形式のファイルを Excel で開きます。
-
[データ] タブの [外部データの取り込み] で [Access データベース] をクリックします。
-
Access データベース ファイルを指定します。
-
[データのインポート] で [OK] をクリックします。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
ここでは Access 2010 の手順を例に紹介します。
問題の再現手順
-
新規で accdb を作成します。
-
テーブルに、半角スペースから始まるデータ「 aaa」を登録します。
-
テーブルを右クリックして、[Excel] をクリックし、[ファイル形式] を「Excel ブック (*.xlsx)」に設定してエクスポートします。
-
作成された *.xlsx ファイルを Excel 2010 で開きます。
結果
セルおよび数式バーに、先頭の半角スペースが表示されません。