XML データのインポート

適用先
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

以前 に XML マップを作成した場合は、それを使用して、マッピングされるセルに XML データをインポートできますが、XML マップを使用せずに XML データをインポートする方法とコマンドもいくつかあります。

XML の対応付けがある場合は、この手段で、対応付けられたセルに XML データをインポートします。

  1. XML の対応付けで、いずれかの対応付けられたセルを選びます。
  2. [ 開発者>インポート] をクリックします。
    [開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。
  3. [XML のインポート] ダイアログ ボックスで、インポートする XML データ ファイル (.xml) を参照して選び、[インポート] をクリックします。

XML データをインポートするその他の方法

問題に関する詳細については、この記事の末尾にある XML データのインポートに関する一般的な問題を参照してください。

XML データ ファイルを XML テーブルとしてインポートする

  1. [ 開発者>インポート] をクリックします。
    [開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。

  2. [XML のインポート] ダイアログ ボックスで、インポートする XML データ ファイル (.xml) を参照して選び、[インポート] をクリックします。
    XML データ ファイルでスキーマが参照されていない場合、XML データ ファイルからスキーマが推定されます。

  3. [データのインポート] ダイアログ ボックスで、次のいずれかの操作を行います。

    1. 既存のワークシートで [XML テーブル] を選択して、XML データ ファイルの内容を、指定したセル位置にあるワークシートの XML テーブルにインポートします。
    2. [新しいワークシートで XML テーブル] を選択すると、ファイルの内容が新しいワークシートのセル A1 から始まる XML テーブルにインポートされます。 XML データ ファイルのスキーマが [XML ソース] 作業ウィンドウに表示されます。
  4. XML データ ファイルでスキーマが参照されていない場合、XML データ ファイルからスキーマが推定されます。

  5. XML データの動作 (データ バインディング、フォーマット、レイアウトなど) を制御するには、[ プロパティ] をクリックして、[ XML マップのプロパティ ] ダイアログ ボックスを表示します。 たとえば、既定でデータをインポートすると、マッピングされた範囲内の既存のデータが上書きされますが、これは変更できます。

複数の XML データ ファイルをインポートする

  1. 対応付けられたセルの単一のセットに複数の XML ファイルをインポートするには、対応付けられたセルの 1 つを選びます。
    対応付けられたセルの複数のセットに複数の XML ファイルをインポートするには、ワークシート上の対応付けられていないセルをクリックします。

  2. [ 開発者>インポート] をクリックします。
    [開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。

  3. [XML のインポート] ダイアログ ボックスで、インポートする XML データ ファイル (.xml) を参照して選びます。

    • ファイルが連続している場合は、Shift キーを押しながら、リスト内の最初のファイルと最後のファイルをクリックします。 XML ファイルからすべてのデータがインポートされ、対応付けられたセルに追加されます。
    • ファイルが連続していない場合は、Ctrl キーを押しながら、リスト内のインポートする各ファイルをクリックします。
  4. [インポート] をクリックします。
    連続していないファイルを選択した場合は、[ インポート <ファイル名>.xml ] ダイアログ ボックスが表示されます。 ファイルごとに、インポートする XML データ ファイルに対応する XML の対応付けを選びます。
    まだインポートされていない選択ファイルのすべてに対して単一の対応付けを使用するには、[このスキーマのファイルのうち、選択されているすべてのファイルにこの XML の対応付けを使用する] を選びます。

複数の XML データ ファイルを外部データとしてインポートする

同じ名前空間を使用するが異なる XML スキーマを持つ複数の XML ファイルをインポートするには、[ XML データからインポート] コマンドを使用できます。 インポートする XML データ ファイルごとに、一意の XML の対応付けが作成されます。

名前空間の定義がない複数の XML ファイルをインポートすると、XML ファイルは同じ名前空間を使用しているように扱われます。

  1. Microsoft 365 サブスクリプションで Excel を使用している場合は、[データ]>データの取得>ファイルから>XML から をクリックします。
    Excel 2016 以前を使用している場合は、[データ]>他のソースから>XML データ インポートから] をクリックします。

  2. インポートする XML データ ファイル (.xml) が存在するドライブ、フォルダー、またはインターネット上の場所を参照します。

  3. ファイルを選択し、[開く] をクリックします。

  4. [データのインポート] ダイアログ ボックスで、次のいずれかの操作を行います。

    • 既存のワークシートの XML テーブル ファイルの内容が新しいワークシート内の新しい XML テーブルにインポートされます。 XML データ ファイルでスキーマが参照されていない場合、XML データ ファイルからスキーマが推定されます。
    • 既存のワークシート XML データは、XML タグが列見出しとして表示され、データが列見出しの下の行として表示される行と列が含まれる 2 次元テーブルにインポートされます。 最初の要素 (ルート ノード) はタイトルのように使用され、指定したセルの位置に表示されます。 残りのタグは 2 番目の行でアルファベット順に並べ替えられます。 この場合、スキーマは推定されず、XML の対応付けは使用できません。
    • 新しいワークシート Excel によってブックに新しいワークシートが追加され、XML データが自動的に新しいワークシートの左上隅に配置されます。 XML データ ファイルでスキーマが参照されていない場合、XML データ ファイルからスキーマが推定されます。
  5. データ バインディング、フォーマット、レイアウトなど、XML データの動作を制御するには、[ プロパティ] をクリックして、[ XML マップのプロパティ ] ダイアログ ボックスを表示します。 たとえば、既定でデータをインポートすると、マッピングされた範囲内の既存のデータが上書きされますが、これは変更できます。

XML データ ファイルを開いてそのデータをインポートする

  1. [ ファイル>開く] をクリックします。

  2. [開く] ダイアログ ボックスで、開こうとしているファイルが存在するドライブ、フォルダー、またはインターネット上の場所をクリックします。  

  3. ファイルを選択し、[開く] をクリックします。

  4. [ XML のインポート ] ダイアログ ボックスが表示された場合、開いたファイルは 1 つ以上の拡張スタイルシート言語変換 (XSLT) スタイル シートを参照しているため、次のいずれかのオプションをクリックできます。

    • スタイル シートを適用せずにファイルを開く XML データは、XML タグが列見出しとして表示され、データが列見出しの下の行として表示される行と列が含まれる 2 次元テーブルにインポートされます。 最初の要素 (ルート ノード) はタイトルのように使用され、指定したセルの位置に表示されます。 残りのタグは 2 番目の行でアルファベット順に並べ替えられます。 この場合、スキーマは推定されず、XML の対応付けは使用できません。

    • 次のスタイル シートが適用されたファイルを開きます (1 つ選択) 適用するスタイル シートを選択し、[ OK] をクリックします。 XML データは、選択したスタイル シートに従って書式設定されます。

      Excel では、ユーザーが誤って元のソース ファイルを Excel マクロ有効ブック ファイル形式 (.xlsm) で保存しないように、XML データが読み取り専用で開きます。 この場合、スキーマは推定されず、XML の対応付けは使用できません。

  5. [ Open XML (XML を開く )] ダイアログ ボックスが表示された場合、その XML ファイルには XSLT スタイル シート参照がありません。 ファイルを開くには、次のいずれかのオプションをクリックします。

    • [XML テーブルとして開く] をクリックすると、新規のブックに XML テーブルが作成されます。
      ファイルの内容が XML テーブルにインポートされます。 XML データ ファイルでスキーマが参照されていない場合、XML データ ファイルからスキーマが推定されます。
    • [ 読み取り専用ブックとして] をクリックします。
      XML タグは列見出しとして表示され、データは該当する列見出しの下の行に表示されます。 最初の要素 (ルート ノード) はタイトルのように使用され、指定したセルの位置に表示されます。 残りのタグは 2 番目の行でアルファベット順に並べ替えられます。 この場合、スキーマは推定されず、XML の対応付けは使用できません。
      Excel では、ユーザーが誤って元のソース ファイルを Excel マクロ有効ブック ファイル形式 (.xlsm) で保存しないように、XML データが読み取り専用で開きます。 この場合、スキーマは推定されず、XML の対応付けは使用できません。
    • [[XML ソース] 作業ウィンドウを使用する] をクリックした場合
      XML データ ファイルのスキーマが [XML ソース] 作業ウィンドウに表示されます。 スキーマの要素をワークシートにドラッグして、要素をワークシートに対応付けることができます。
      XML データ ファイルでスキーマが参照されていない場合、XML データ ファイルからスキーマが推定されます。

XML データのインポートに関する一般的な問題

Excel では、XML マップに従ってデータを検証できない場合、[ XML インポート エラー ] ダイアログ ボックスが表示されます。 各エラーの詳細情報を参照するには、このダイアログ ボックスの [詳細] をクリックします。 次の表は、一般的なインポートのエラーの一覧です。

エラー メモ
スキーマの検証に失敗しました [XML の対応付けのプロパティ] ダイアログ ボックスの [インポートまたはエクスポート時にスキーマに対してデータを検証する] をクリックしたときに、データはインポートされましたが、指定した XML の対応付けでデータが検証されませんでした。
一部のデータはテキストとしてインポートされました インポートしたデータの一部または全部が、宣言されているデータ型からテキストに変換されました。 このデータを計算で使用するには、データをテキストから数値または日付に変換する必要があります。 たとえば、文字列に変換された日付値は、Date データ型に変換するまでは、YEAR 関数では意図したとおりに機能しません。 Excel でデータがテキストに変換されるのは、次の場合です。
  • データが Excel でサポートされていない形式になっています。
  • データが、XSD データ型の Excel 内部表現と互換性がない。 この問題を解決するには、各データ型宣言を調べて、XML データが XML スキーマに準拠する有効な形式であることを確認します。
XML 解析エラー 指定の XML ファイルを XML パーサーで読み込めません。 XML ファイルに構文エラーがなく、XML の形式が正しいことを確認してください。
このデータに対応する XML の対応付けが見つかりません この問題が発生するのは、インポートする XML データ ファイルを 2 つ以上選び、そのうちのいずれかについて、該当する XML の対応付けが見つからなかったときです。 ダイアログ ボックスのタイトル バーに名前が表示されているファイルについて、まず適切なスキーマをインポートし、それから再びファイルをインポートしてください。
データを取り込むために XML テーブルのサイズを変更することができません XML テーブルにデータをインポートまたは追加することによって行を追加しようとしていますが、テーブルを拡大するための領域がありません。 XML テーブルは最下部から下にしか拡大できません。 たとえば、XML テーブルのすぐ下に何かのオブジェクト (図や別のテーブルなど) があって、XML テーブルの拡大を妨げている可能性があります。 または、XML テーブルを拡大しようとすると、Excel の行制限 (1,048,576) を超えてしまいます。 この問題を解決するには、ワークシート上のテーブルとオブジェクトを再配置して、XML テーブルを最下部から下に拡大できるようにします。

指定した XML ファイルはスキーマを参照していません

開こうとしている XML ファイルは、XML スキーマを参照していません。 ファイル内の XML データを操作するには、Excel に、XML ファイルの内容に基づいたスキーマが必要です。 スキーマが正しくないか十分でない場合は、ブックから削除します。 続いて、XML スキーマ ファイルを作成し、XML データ ファイルがそのスキーマを参照するように XML データ ファイルを編集します。 詳細については、「XML 要素を XML マップのセルに対応付ける」を参照してください。

独立した XML スキーマ データ ファイル (.xsd) であると Excel で推定されたスキーマをエクスポートすることはできません。 XML スキーマ ファイルは、XML スキーマ エディターなどの方法を使って作成できますが、それらを手軽に使用できなかったり、使用方法がわからなかったりする可能性があります。

以下の手順に従って、Excel で作成したスキーマを、ブックから削除します。

  1. [ 開発者>ソース] をクリックします。
    [開発者] タブの [XML] コマンド
    [開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。
  2. [XML ソース] 作業ウィンドウで、[XML の対応付け] をクリックします。
  3. [ XML マップ] ダイアログ ボックスで、Excel で作成した XML マップをクリックし、[ 削除] をクリックします。

同じ名前空間を使用しているがスキーマが異なる複数の XML ファイルをインポートすると、想定どおりには動作しない

一般に、複数の XML データ ファイルと XML スキーマを扱うときは、スキーマごとに XML の対応付けを作成し、目的の要素を対応付け、各 XML データ ファイルを適切な XML の対応付けにインポートします。 [インポート] コマンドを使用して、名前空間が同じである複数の XML ファイルを開く場合は、XML スキーマを 1 つしか使用できません。 このコマンドを使用して、同じ名前空間を使用しているがスキーマが異なる複数の XML ファイルを開くと、予期しない結果になることがあります。 たとえば、データが上書きされたり、ファイルを開くことができない場合があります。

名前空間が同じで XML スキーマが異なる複数の XML ファイルをインポートするには、[XML データからインポート] コマンド ([データ] >[その他のソースから] をクリックします)。 このコマンドにより、名前空間が同じである複数の XML ファイルで複数の XML スキーマを使用できます。 インポートする XML データ ファイルごとに、一意の XML の対応付けが作成されます。

名前空間の定義がない複数の XML ファイルをインポートすると、XML ファイルは同じ名前空間を使用しているように扱われます。

[開発] タブを表示する

[開発] タブが表示されない場合は、次の操作を行って表示します。

  1. [ファイル>オプション] をクリックします。
  2. [リボンのユーザー設定] をクリックします。
  3. [メイン タブ] で [開発] ボックスをオンにし、[OK] をクリックします。

関連項目

Excel での XML の概要

XML 要素を XML マップのセルに対応付ける

XML データをエクスポートする