Microsoft Office Excel を使用すると、他のデータベースやアプリケーションで作成された 拡張マークアップ言語 (XML) (Extensible Markup Language (XML): SGML (Standard Generalized Markup Language) を簡略化したもの。タグをカスタマイズできるため、柔軟に情報を管理および表示できます。) データのインポート、XML スキーマ (XML スキーマ: 文書の構造を定義する、XML 文書の形式の仕様。XML で記述します。要素名、リッチ データの種類、どの要素を組み合わせて表示できるか、各要素にどの属性を使用できるかなどが定義されます。)とワークシートのセル間における XML 要素の対応付け、および他のデータベースやアプリケーションとやりとりするために修正された XML データのエクスポートを簡単に実行できます。つまり、このような XML に関連する機能面から考えた場合、Office Excel は、使い慣れたユーザー インターフェイスを持つ XML データ ファイル ジェネレータとしても利用できるということです。
この記事の内容
Excel で XML を使用する理由
XML は、構造化されたデータを人間が判読できるテキスト ファイルで管理および共有するために開発されたテクノロジです。XML は業界標準のガイドラインに準拠しており、さまざまなデータベースやアプリケーションで処理できます。XML を使用すると、アプリケーション デザイナは、タグ、データ構造、およびスキーマを独自にカスタマイズして作成することが可能になります。つまり、XML を使用すると、データベース、アプリケーション、および組織間のデータの定義、転送、検証、および解釈が大幅に簡素化されます。
ページの先頭へ
XML データ ファイルとスキーマ ファイル
Excel は、主に次の 2 種類の XML ファイルを処理します。
- ユーザー設定タグと構造化されたデータが含まれる XML データ ファイル (.xml)
- データ型や検証などの規則を適用するスキーマ タグが含まれるスキーマ ファイル (.xsd)
メモ XML 標準では、スタイルの適用および異なるプレゼンテーション形式への XML データの変換に使用される Extensible Stylesheet Language Transformation (XSLT) (XSLT: XML 文書を HTML や XML などの他の種類の文書に変換するために使用するファイル。XSL の一部として使用されます。) (.xslt) ファイルも定義します。この変換は、XML ファイルを Excel にインポートする前、および XML ファイルを Excel からエクスポートした後に適用できます。XSLT ファイルが、Excel へインポートされる XML データ ファイルにリンクされている場合、データをワークシートに追加する前に書式設定を適用するかどうかを選択できますが、この操作は
(Microsoft Office ボタン) の [開く] を使用して XML ファイルを開いた場合にのみ可能です。
ページの先頭へ
XML と Excel の主要なシナリオ
XML および Excel を使用すると、以前は不可能または非常に困難だった方法でブックやデータを管理できます。また XML の対応付けを使用すると、Excel ドキュメントから特定のビジネス データを追加したり、見つけたり、抽出することが簡単にできます。たとえば、顧客の名前と住所が記載されている請求書、または直前四半期の中間決算レポートは、単なる静的なレポートではなくなります。このようなドキュメントの情報をデータベースやアプリケーションからインポートし、変更を加え、同じまたは他のデータベースやアプリケーションにエクスポートすることが簡単にできます。
XML 機能が対応できる主要なシナリオを次に示します。
- XML 要素を既存のセルに対応付けることで、既存の Excel テンプレートの機能を拡張します。これにより、XML データのテンプレートへの取り込みおよびテンプレートからの削除が、テンプレートのデザインを変更せずに簡単にできます。
- XML 要素を既存のワークシートに対応付けることで、XML データを既存の計算モデルへの入力として使用します。
- XML データ ファイルを新しいブックにインポートします。
- XML データを Web サービスから Excel ワークシートにインポートします。
- 対応付けセルのデータを、ブック内の他のデータから独立した XML データ ファイルにエクスポートします。
ページの先頭へ
Excel で XML データを使用する基本的なプロセス
次の図は、Excel で XML を使用するときにさまざまなファイルと操作が連携する状況を示しています。基本的に、プロセスには次の 5 つのフェーズがあります。
XML スキーマ ファイル (.xsd) をブックに追加する
XML スキーマ要素を個別のセルまたは XML テーブルに対応付ける
XML データ ファイル (.xml) をインポートし、XML 要素を対応付けセルにバインドする
XML 構造と定義を保持しながら、データを入力し、対応付けセルを移動して、Excel の機能を活用する
対応付けセルから XML データ ファイルに、変更されたデータをエクスポートする
ページの先頭へ
XML の対応付けの操作
Excel でブックを作成するか開き、XML スキーマ ファイル (.xsd) をブックに適用すると、[XML ソース] 作業ウィンドウを使用して、スキーマの XML 要素を個別のセルまたはテーブルに対応付けることができます。XML 要素をワークシートに対応付けると、対応付けられたセルに XML データをインポートしたり、このセルからデータをエクスポートすることができます。
XML スキーマ ファイル (.xsd) をブックに追加するときに、XML の対応付けを作成します。通常、XML の対応付けは、対応付けセルを作成し、対応付けセルと XML スキーマ内の個別の要素の関係を管理するために使用されます。また、XML データ ファイル (.xml) をインポートまたはエクスポートするときに、対応付けセルの内容をスキーマ内の要素にバインドする場合にも、この XML 対応付けが使用されます。
作成できる対応付けセルには、単一の対応付けセル (XML テーブルとして表示される) および繰り返しセルの 2 種類があります。ワークシートをより柔軟にデザインできるように、対応付けセルをワークシート上の任意の場所に任意の順序 (XML スキーマとは異なる順序も可) でドラッグできます。対応付ける要素と対応付けない要素を選択することもできます。
XML の対応付けの使用に関する重要な規則を次に示します。
- ブックには 1 つ以上の XML の対応付けを含めることができます。
- 1 つの要素を一度に対応付けることができるのは、ブック内の 1 か所のみです。
- 同じブック内にある複数の XML の対応付けが同じスキーマを参照していても、XML の各対応付けは独立したエンティティです。
- 1 つの XML の対応付けに含めることができるのは、1 つのルート要素だけです。複数のルート要素を定義するスキーマを追加すると、新しい XML の対応付けに使用するルートを選択するようにメッセージが表示されます。
ページの先頭へ
[XML ソース] 作業ウィンドウを使用する
XML の対応付けを管理するには、[XML ソース] 作業ウィンドウを使用します。これを開くには、[開発] タブの [XML] で [ソース] をクリックします。次の図は、この作業ウィンドウの主な機能を示しています。

ブックに追加された XML の対応付けの一覧を表示します。

現在表示されている XML の対応付けに含まれる XML 要素の階層型一覧を表示します。

[
XML ソース] 作業ウィンドウおよび XML データを操作するときのオプション (データをプレビューする方法、見出しを制御する方法など) を設定します。

[
XML の対応付け] ダイアログ ボックスを開き、XML の対応付けの追加、削除、または名前の変更を行います。

現在の XML の対応付けを使用して XML データをエクスポートできるかどうかを確認します。
ページの先頭へ
要素の種類とアイコン
次の表は、Excel で使用できる XML 要素の各種類、および各種類の要素を表すために使用されるアイコンを示しています。
| 要素の種類 |
アイコン |
| 親要素 |
|
| 必須の親要素 |
|
| 繰り返しのある親要素 |
|
| 繰り返しのある必須の親要素 |
|
| 子要素 |
|
| 必須の子要素 |
|
| 繰り返しのある子要素 |
|
| 繰り返しのある必須の子要素 |
|
| 属性 |
|
| 必須の属性 |
|
| 複雑な構成内にある単純なコンテンツ |
|
| 複雑な構成内にある必須の単純なコンテンツ |
|
ページの先頭へ
単一の対応付けセルの操作
単一の対応付けセルとは、繰り返しのない XML 要素に対応付けられたセルです。[XML ソース] 作業ウィンドウからワークシート内の単一セルに繰り返しのない XML 要素をドラッグすることで、単一の対応付けセルを作成します。
繰り返しのない XML 要素をワークシートにドラッグする場合、スマート タグを使用して XML 要素名を単一の対応付けセルの上またはすぐ左に見出しとして表示することも、既存のセル値を見出しとして使用することもできます。
XML スキーマ定義 (XSD) データ型 (Excel では数値、日付、または時刻として解釈される) の XML 要素にセルが対応付けられている場合、単一の対応付けセルで数式を使用することもできます。
ページの先頭へ
XML テーブルでの繰り返しセルの操作
XML テーブルの外観と機能は、Excel のテーブルに似ています。XML テーブルは、繰り返しのある 1 つ以上の XML 要素に対応付けられた Excel のテーブルです。XML テーブル内の各列は、XML 要素を表します。
XML テーブルは、次の操作を行った場合に作成されます。
- [インポート] ([開発] タブの [XML]) を使用して XML データ ファイルをインポートする。
- [開く] (
(Microsoft Office ボタン)) を使用して XML データ ファイルを開き、[XML を開く] ダイアログ ボックスの [XML テーブルとして開く] をクリックする。
- [XML テーブルとして開く] ([データ] タブの [外部データの取り込み] で [その他のデータ ソース] をクリックする) を使用して XML データ ファイルをインポートし、[データのインポート] ダイアログ ボックスの [既存のワークシート内の XML テーブル] または [新規ワークシート] をクリックする。
- [XML ソース] 作業ウィンドウからワークシートに、1 つまたは複数の繰り返しのある要素をドラッグする。
XML テーブルを作成すると、XML 要素名が列見出しとして自動的に使用されます。この列見出しは、必要に応じて変更できます。ただし、対応付けセルからデータをエクスポートする場合は、元の XML 要素名が常に使用されます。
XML テーブルで作業するときは、[XML ソース] 作業ウィンドウの [オプション] の下にある次の 2 つのオプションを使用すると便利です。
- [対応付け時に隣接する要素を結合] オンにすると、複数のフィールドをワークシートにドロップしたときに、それらのフィールドから 1 つの XML テーブルが作成されます。このオプションは、複数のフィールドを同じ行に隣接させてドロップする場合に限り機能します。このオプションをオフにすると、各要素は独立した XML テーブルとして表示されます。
- [データ内の列見出しを使用] オンにすると、ワークシートに対応付ける繰り返しのある要素の列見出しとして、既存の見出しデータが使用されます。このオプションをオフにすると、XML 要素名が列見出しとして使用されます。
XML テーブルを使用すると、XML データ ソースに基づいたデータのインポート、エクスポート、並べ替え、フィルタ処理、および印刷を簡単に実行できます。ただし、XML テーブルには、ワークシートでの配置方法に関するいくつかの制限があります。
- XML テーブルは行ベース、つまり、ヘッダー行から下方向へエントリが追加されます。既存の行の上に新しいエントリを追加することはできません。
- XML テーブルの行と列を入れ替えて、新しいエントリが右側に追加されるようにすることはできません。
XML スキーマ定義 (XSD) データ型 (Excel では数値、日付、または時刻として解釈される) の XML 要素に列が対応付けられている場合、その列で数式を使用できます。Excel のテーブルの場合と同じように、XML テーブル内の数式は、テーブルに新しい行を追加したときに、下の列に入力されます。
ページの先頭へ
XML の対応付けのセキュリティに関する考慮事項
XML の対応付けとそのデータ ソース情報は、特定のワークシートではなく、Excel ブックに保存されます。悪意のあるユーザーが、Microsoft Visual Basic for Applications (VBA) マクロを使用して、この対応付け情報を参照する可能性があります。さらに、マクロ有効 Excel Office オープン XML 形式ファイルとしてブックを保存すると、Microsoft のメモ帳または別のテキスト編集プログラムを使用して、この対応付け情報が参照される可能性があります。
対応付け情報を保持しながら、機密性が高いと考えられるデータ ソース情報を削除するには、ブックから XML スキーマのデータ ソース定義を削除し、[XML の対応付けのプロパティ] ダイアログ ボックスの [データ ソースの定義をブックに保存する] チェック ボックス ([開発] タブの [XML] で [対応付けのプロパティ] をクリックすると表示される) をオフにすることで、XML データを引き続きエクスポートできます。
対応付けを削除する前にワークシートを削除しても、データ ソースに関する対応付け情報はブックに引き続き保存され、その他の機密情報も保存される可能性があります。機密情報を削除するためにブックを更新する場合は、対応付け情報がブックから永続的に削除されるように、XML の対応付けを削除してからワークシートを削除するようにします。
ページの先頭へ
XML データをインポートする
XML データを、ブック内にある既存の XML の対応付けにインポートできます。データをインポートすると、ブックに格納されている XML の対応付けにファイルのデータがバインドされます。つまり、XML データ ファイル内の各データ要素には、対応する要素が XML スキーマ内に存在することになります。これらの要素は、XML スキーマ ファイルまたは推測されるスキーマから対応付けた要素です。XML の対応付けはそれぞれ、1 つの XML データ バインドのみを持ち、XML データ バインドは、単一の XML の対応付けから作成されたすべての対応付けにバインドされます。
[XML の対応付けのプロパティ] ダイアログ ボックスを表示し ([開発] タブの [XML] で [対応付けのプロパティ] をクリックする)、XML データ バインドの動作を制御するためにオンまたはオフにできる、3 つのオプション (既定ではすべてのオプションがオン) を使用できます。
- [インポートまたはエクスポート時にスキーマに対してデータを検証する] データをインポートするときに、Excel で XML の対応付けに対してデータを検証するかどうかを指定します。インポートする XML データが XML スキーマに準拠していることを確認する場合は、このオプションをオンにします。
- [既存のデータを新規データで上書きする] データをインポートするときに、データを上書きするかどうかを指定します。新しい XML データ ファイルに最新のデータが含まれている場合など、現在のデータを新しいデータに置き換える場合は、このオプションをオンにします。
- [既存の XML テーブルに新規データを追加する] データ ソースの内容をワークシートの既存のデータに追加するかどうかを指定します。類似した複数の XML データ ファイルのデータを XML テーブルに統合する場合、または関数を含むセルの内容を上書きしないようにする場合は、このオプションをオンにします。
XML データをインポートするときに、一部の対応付けセルだけを上書きし、他の対応付けセルはそのままにすることもできます。たとえば、一部の対応付けセルに数式が含まれる場合、XML ファイルをインポートするときに、数式を上書きしないように設定できます。これには次の 2 つの方法があります。
- XML データをインポートする前に、上書きしない要素の対応付けを解除します。XML データをインポートした後、数式の結果を XML データ ファイルにエクスポートできるように、数式を含むセルに XML 要素を再び対応付けることができます。
- 同じ XML スキーマから XML の対応付けを 2 つ作成します。一方の XML の対応付けは、XML データのインポートに使用します。この "インポート" 用の XML の対応付けでは、上書きしない数式またはその他のデータを含むセルに要素を対応付けないでください。もう一方の XML の対応付けは、データのエクスポートに使用します。この "エクスポート" 用の XML の対応付けでは、エクスポートする要素を XML ファイルに対応付けます。
メモ データ ソースに接続するためにデータ取得サービス接続 (.uxdc) ファイルを使用して Web サービスから XML データをインポートする機能は、Microsoft Office Excel 2007 ではユーザー インターフェイスからは利用できなくなりました。Office Excel 2003 で作成されたブックを開くと、データを表示することはできますが、ソース データを編集または更新することはできません。
ページの先頭へ
推測されるスキーマの操作
XML の対応付けを作成する場合、XML データをインポートするときに、対応する XML スキーマが追加されていないと、XML データ ファイルで定義されているタグに基づいて、スキーマが推測されます。推測されるスキーマはブックと共に保存されます。推測されるスキーマを使用すると、XML スキーマがブックに関連付けられていなくても、XML データを操作できます。
推測されるスキーマを持つ XML データをインポートし操作する場合、[XML ソース] 作業ウィンドウをカスタマイズすることもできます。Excel の現在のセッションで XML の対応付けに関連付けられている XML データをインポートした場合、最初のデータ行を要素の一覧にサンプル データとして表示するには、[オプション] の [作業ウィンドウでのデータのプレビュー] オプションをクリックします。
Excel の推測されるスキーマを個別の XML スキーマ データ ファイル (.xsd) としてエクスポートすることはできません。XML スキーマ ファイルを作成するには XML スキーマ エディタなどの方法もありますが、使いづらかったり、使用方法がわからない場合があります。代わりに、XML の対応付けからスキーマ ファイルを作成できる Excel 2003 XML Tools Add-in Version 1.1 (英語版) を使用できます。詳細については、「Using the Excel 2003 XML Tools Add-in Version 1.1」(英語)を参照してください。
ページの先頭へ
XML データをエクスポートする
ワークシートの対応付けセルの内容をエクスポートすることで、XML データをエクスポートします。データをエクスポートすると、保存するデータと保存方法を決定するために、次の規則が適用されます。
- オプションの要素に空白のセルが存在する場合は、空のアイテムは作成されませんが、必須の要素に空白のセルが存在する場合は、空のアイテムが作成されます。
- データの書き込みには、Unicode Transformation Format-8 (UTF-8) エンコードが使用されます。
- 名前空間はすべて、ルート XML 要素で定義されます。
- Excel では、既存の名前空間のプレフィックスが上書きされます。既定の名前空間には ns0 のプレフィックスが割り当てられます。連続する名前空間は、ns1、ns2、...ns<カウント> のように指定されます。この <カウント> は、XML ファイルに書き込まれる名前空間の数を表します。
- コメント ノードは保持されません。
[XML の対応付けのプロパティ] ダイアログ ボックスを表示し ([開発] タブの [XML] で [対応付けのプロパティ] をクリックする)、[インポートまたはエクスポート時にスキーマに対してデータを検証する] (既定でオン) を使用して、データのエクスポート時に XML の対応付けに対してデータを検証するかどうかを指定します。エクスポートする XML データが XML スキーマに準拠していることを確認する場合は、このオプションをオンにします。
ページの先頭へ
Excel マクロ有効 Office オープン XML 形式ファイルを使用する
Excel ブックは、Excel マクロ有効 Office オープン XML 形式ファイル (.xlsm) などの、さまざまなファイル形式で保存できます。Excel には、ブックの内容を定義する定義済みの XML スキーマ (データやプロパティなどのすべてのブック情報を保存し、ブック全体の構造を定義する XML タグを含む) があります。独自のアプリケーションで、この Excel マクロ有効 Office XML 形式ファイルを使用できます。たとえば、アプリケーションを作成して、この形式で保存された複数のブック内のデータを検索し、見つかったデータに基づいてレポート システムを作成できます。
ページの先頭へ