次の方法で共有


WorkbookBase.XmlImport(String, XmlMap, Object, Object) メソッド

定義

XML データ ファイルを現在のブックにインポートします。

public Microsoft.Office.Interop.Excel.XlXmlImportResult XmlImport (string url, out Microsoft.Office.Interop.Excel.XmlMap importMap, object overwrite, object destination);
member this.XmlImport : string * XmlMap * obj * obj -> Microsoft.Office.Interop.Excel.XlXmlImportResult
Public Function XmlImport (url As String, ByRef importMap As XmlMap, Optional overwrite As Object, Optional destination As Object) As XlXmlImportResult

パラメーター

url
String

XML データ ファイルの URL (Uniform Resource Locator) または UNC (Uniform Naming Convention) パスです。

importMap
XmlMap

ファイルをインポートするときに適用するスキーマ マップです。

overwrite
Object

パラメーターに値が指定 Destination されていない場合、このパラメーターは、 パラメーターで ImportMap 指定されたスキーマ マップにマップされたデータを上書きするかどうかを指定します。 true に設定するとデータを上書きし、false に設定すると新しいデータを既存のデータに追加します。 既定値は true です。 パラメーターに値が指定されている Destination 場合、このパラメーターは既存のデータを上書きするかどうかを指定します。 true に設定すると既存のデータを上書きし、false に設定すると、インポートをキャンセルしてデータが上書きされないようにします。 既定値は true です。

destination
Object

指定されている Range にある新しい XML リストにデータがインポートされます。

戻り値

XlXmlImportResult 値のいずれか 1 つ。

次のコード例では、 から生成されたスキーマに基づいて を作成XmlMapし、 を XML ファイルに書き込みDataSet、 メソッドをXmlImport使用して XML ファイル内のデータをワークシート の範囲に書き込みますSheet1DataSet

この例は、ドキュメント レベルのカスタマイズ用です。

private void WorkbookXmlImport()
{
    // Create a new DataTable.
    DataSet ds = new DataSet();
    DataTable dt = ds.Tables.Add("Customers");
    dt.Columns.Add(new DataColumn("LastName"));
    dt.Columns.Add(new DataColumn("FirstName"));

    // Add a new row to the DataTable.
    DataRow dr = dt.NewRow();
    dr["LastName"] = "Chan";
    dr["FirstName"] = "Gareth";
    dt.Rows.Add(dr);

    // Add a new XML map and write the XML to a file.
    Excel.XmlMap xmlMap1 = this.XmlMaps.Add(ds.GetXmlSchema(),
        "NewDataSet");
    ds.WriteXml(@"C:\Customers.xml");

    // Import the XML from the file.
    Excel.Range range1 = Globals.Sheet1.Range["A1"];
    this.XmlImport(@"C:\Customers.xml", out xmlMap1, true, range1);
}
Private Sub WorkbookXmlImport()

    ' Create a new DataTable.
    Dim ds As New DataSet()
    Dim dt As DataTable = ds.Tables.Add("Customers")
    dt.Columns.Add(New DataColumn("LastName"))
    dt.Columns.Add(New DataColumn("FirstName"))

    ' Add a new row to the DataTable.
    Dim dr As DataRow = dt.NewRow()
    dr("LastName") = "Chan"
    dr("FirstName") = "Gareth"
    dt.Rows.Add(dr)

    ' Add a new XML map and write the XML to a file.
    Dim xmlMap1 As Excel.XmlMap = Me.XmlMaps.Add(ds.GetXmlSchema(), _
        "NewDataSet")
    ds.WriteXml("C:\Customers.xml")

    ' Import the XML from the file.
    Dim range1 As Excel.Range = Globals.Sheet1.Range("A1")
    Me.XmlImport("C:\Customers.xml", xmlMap1, True, _
        range1)
End Sub

注釈

既存の Destination マッピングにデータをインポートする場合は、 パラメーターの値を指定しないでください。

次の条件により、このメソッドによって実行時エラーが生成されます。

  • 指定された XML データに構文エラーが含まれています。

  • 指定したデータがワークシートに収まらないため、インポート プロセスが取り消されました。

メソッドを XmlImportXml 使用して、以前にメモリに読み込まれた XML データをインポートします。

省略可能のパラメーター

省略可能なパラメーターの詳細については、「 Office ソリューションの省略可能なパラメーター」を参照してください。

適用対象