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) 或统一命名约定 (UNC) 路径。

importMap
XmlMap

导入文件时应用的架构映射。

overwrite
Object

如果未为 Destination 参数指定值,则此参数指定是否覆盖已映射到 参数中指定的 ImportMap 架构映射的数据。 设置为 true 可覆盖数据,设置为 false 可向现有数据追加新数据。 默认值为 true。 如果为 Destination 参数指定了值,则此参数指定是否覆盖现有数据。 设置为 true 可覆盖现有数据,设置为 false 可在要执行数据覆盖时取消导入。 默认值为 true

destination
Object

数据将导入指定的 Range 中的新 XML 列表。

返回

XlXmlImportResult 值之一。

示例

下面的代码示例基于从 DataSet生成的架构创建 XmlMap ,将 写入 DataSet XML 文件,然后使用 XmlImport 方法将 XML 文件中的数据写入工作表 Sheet1中的区域。

此示例适用于文档级自定义项。

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 解决方案中的可选参数

适用于