XML データをインポートして、データをワークシートのセルに対応付けし、そのデータを変更した後に、XML ファイルにエクスポートまたは保存したい場合があります。
重要:
-
XML データをエクスポートする前に、リボンの [ 開発者 ] タブを有効にする必要があります。 「開発者タブを表示する」を参照してください。
-
XML マップを作成して、Excel のデータを XML データ ファイルにエクスポートする場合、エクスポートできる行数には制限があります。 Excel から XML にエクスポートする場合、保存されるのは最大で 65,536 行です。 ファイルに 65,536 を超える行が含まれている場合、Excel では最初の (#ROWS mod 65537) 行がエクスポートされます。 たとえば、70,000 行からなるワークシートの場合、Excel では 70000 mod 65537 = 4464 行がエクスポートされます。 推奨する方法は、1) 代わりに xlsx を使用する、2) XML Spreadsheet 2003 (.xml) としてファイルを保存する (ただし、この場合はマッピングが失われます)、3) 65,536 以降のすべての行を削除してから、もう一度エクスポートする (この場合、マッピングは保持されますが、ファイルの最後のデータは失われます) のいずれかです。
XML データのエクスポート (65,536 行以下)
-
[開発]、[エクスポート] の順にクリックします。
[開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。
-
小さな [XML のエクスポート] ダイアログ ボックスが表示された場合は、使用する XML の対応付けをクリックし、[OK] をクリックします。
XML テーブルが選択されておらず、ブックに複数の XML の対応付けが含まれる場合は、このダイアログ ボックスのみが表示されます。
-
大きい [XML のエクスポート] ダイアログ ボックスで、[ファイル名] ボックスに XML データ ファイルの名前を入力します。
-
[エクスポート] をクリックします。
注: ワークシートに XML 関連付けの XML 要素名と異なる見出しまたはラベルが含まれる場合、そのワークシートから XML データをエクスポートまたは保存すると、Excel ではその XML 要素が使用されます。
XML データのエクスポート (65,536 行を超える場合)
-
ファイルの総行数から 65537 を引きます。 この結果、x 行数が求められます。
-
Excel ワークシートの先頭から x 行を削除します。
-
ワークシートを XML データ ファイルとしてエクスポートします (手順については、前のセクションを参照してください)。
-
[ 閉じる] をクリックしますが、シートは 保存しません 。 次に、Excel ワークシートをもう一度開きます。
-
合計 x の後にあるすべてのものを削除し、XML データ ファイルとしてエクスポートします (手順については、前のセクションを参照してください)。
この手順では、残りの行を指定します。 その時点で、2 つの XML エクスポート ファイルが作成されます。このファイルを組み合わせて元のワークシートの複製を作成できます。
初期の XML 機能の下位互換性のため、[エクスポート] コマンドを使用する代わりに、ファイルを XML データファイル (.xml) として保存したい場合があります。
-
Ctrl + S を押してファイルを保存します。
この手順に従うと、ブックを XML データ ファイルとして保存する場合に、ブックの変更内容が失われることはなくなります。
-
[ ファイル ] > [名前を付けて保存] をクリックし、ファイルを保存する場所を選択します。
Excel 2007 でのみ、[ Microsoft Office ボタン] をクリックし、[ 名前を付けて保存] の横にある矢印をポイントし、[ その他の形式] をクリックします。
-
[ファイル名] ボックスに XML データ ファイルの名前を入力します。
-
[ファイルの種類] ボックスの一覧で、[XML データ] をクリックし、[保存] をクリックします。
-
ファイルを XML データとして保存すると一部の機能が失われることを告げるメッセージが表示されたら、[続行] をクリックします。
-
小さな [XML のエクスポート] ダイアログ ボックスが表示された場合は、使用する XML の対応付けをクリックし、[OK] をクリックします。
このダイアログ ボックスは、XML テーブルが選択されておらず、ブックに複数の XML 関連付けが含まれる場合にのみ表示されます。
-
大きい [XML のエクスポート] ダイアログ ボックスで、[ファイル名] ボックスに XML データ ファイルの名前を入力します。
-
[エクスポート] をクリックします。
注: ワークシートに XML 関連付けの XML 要素名と異なる見出しまたはラベルが含まれる場合、そのワークシートから XML データをエクスポートまたは保存すると、Excel ではその XML 要素が使用されます。
XML データをエクスポートすると、以下のメッセージが表示される場合があります。
このメッセージが表示される理由は、いくつか考えられます。
-
この XML テーブルに関連する XML の対応付けに、この XML テーブルに対応付けられていない必須要素が含まれている。
[XML ソース] 作業ウィンドウ内の要素の階層リストで、各要素の左にあるアイコンの右上隅に赤いアスタリスクが付いているのが必須要素です。 必須要素を対応付けるには、それをワークシート内の表示したい位置にドラッグします。
-
要素が再帰的な構造である。
再帰構造再帰構造の一般的な例として、同じ XML 要素が複数のレベルにネストされている社員と上司の階層構造が挙げられます。 [XML ソース] 作業ウィンドウですべての要素を対応付けても、Excel では複数のレベルから成る再帰的な構造がサポートされていないため、すべての要素を対応付けることができません。
-
XML テーブルに混在したコンテンツが含まれている。
混在したコンテンツは、要素に子要素が含まれていて、かつ子要素の外にシンプル テキストが存在する場合に発生します。 たとえば、要素内のデータを書式設定するためのタグ (太字タグなど) が使用されている場合などです。 子要素を表示することはできても (ただし、Excel でサポートされている場合)、テキストの内容はデータのインポート時に失われ、データのエクスポート時に使用できず、ラウンドトリップできません。
XML の対応付けは、対応付けられた要素とその他の要素との関係を維持できない場合にはエクスポートできません。 次のような場合には、この関係を維持できない可能性があります。
-
対応付けられている要素のスキーマ定義が、次の属性を持つ sequence 要素の中に含まれている場合。
-
maxoccurs 属性に 1 以外の値が指定されている。
-
シーケンスに直接の子要素が 2 つ以上定義されているか、または別の compositor 要素が直接の子要素として含まれている。
-
-
同じ繰り返し要素を親に持つ非繰り返し型の兄弟要素が、異なる XML テーブルに対応付けられている場合。
-
同じ XML テーブルに複数の繰り返し要素が対応付けられていて、その繰り返しが祖先要素によって定義されていない場合。
-
異なる親を持つ複数の子要素が同じ XML テーブルに対応付けられている場合。
さらに、次の XML スキーマ構造のいずれかが含まれている XML の対応付けはエクスポートできません。
-
リストの一覧 項目の 1 つのリストには、項目の 2 つ目のリストがあります。
-
正規化されていないデータ XML テーブルの中に、1 回だけ発生するように定義されている要素、つまり、maxoccurs 属性が 1 に設定されている要素が含まれています。 このような要素を XML テーブルに追加すると、Excel はテーブルの列をこの要素の複数のインスタンスで埋め尽くします。
-
選択肢 マップされた要素は、スキーマ コンストラク ト><選択の 一部です。
Excel では、対応付けられた範囲が 1 つ以上作成されていない場合、ブックを XML データ ファイルに保存できません。
XML の対応付けをブックに追加した場合は、次の手順に従って XML 要素をワークシートに対応付けます。
-
[開発]、[ソース] の順にクリックします。
[開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。
-
[XML ソース] 作業ウィンドウで、ワークシートに対応付ける要素を選びます。
隣接しない複数の要素を選ぶには、1 つの要素をクリックし、次に Ctrl キーを押しながら各要素をクリックします。
-
選んだ要素は、ワークシート内で表示したい位置にドラッグすることもできます。
XML の対応付けをまだブックに追加していない場合、または XML テーブル内にデータが含まれていない場合は、ブックを Excel マクロ有効ブックのファイル形式 (.xlsm) で保存します。
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。