Compartilhar via


WorkbookBase.XmlImport(String, XmlMap, Object, Object) Método

Definição

Importa um arquivo de dados XML para a pasta de trabalho atual.

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

Parâmetros

url
String

Uma URL (Uniform Resource Locator) ou um caminho de UNC (convenção de nomenclatura uniforme) para um arquivo de dados XML.

importMap
XmlMap

O mapa de esquema a ser aplicado durante a importação do arquivo.

overwrite
Object

Se um valor não for especificado para o Destination parâmetro , esse parâmetro especificará se os dados foram mapeados ou não para o mapa de esquema especificado no ImportMap parâmetro . Defina como true para substituir os dados ou false para anexar os novos dados aos dados existentes. O valor padrão é true. Se um valor for especificado para o Destination parâmetro , esse parâmetro especificará se os dados existentes devem ou não ser substituídos. Defina como true para substituir dados existentes ou false para cancelar a importação caso os dados precisem ser substituídos. O valor padrão é true.

destination
Object

Os dados serão importados em uma nova lista XML no Range especificado.

Retornos

Um dos valores de XlXmlImportResult.

Exemplos

O exemplo de código a seguir cria um XmlMap baseado em um esquema gerado de um DataSet, grava o DataSet em um arquivo XML e usa o XmlImport método para gravar os dados no arquivo XML em um intervalo na planilha Sheet1.

Este exemplo destina-se a uma personalização no nível de documento.

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

Comentários

Não especifique um valor para o parâmetro Destination caso você queira importar dados para um mapeamento existente.

As seguintes condições farão esse método gerar erros de tempo de execução:

  • Os dados XML especificados contêm erros de sintaxe.

  • O processo de importação foi cancelado porque os dados especificados não podem caber na planilha.

Use o XmlImportXml método para importar dados XML que foram carregados anteriormente na memória.

Parâmetros Opcionais

Para obter informações sobre parâmetros opcionais, consulte Parâmetros opcionais em soluções do Office.

Aplica-se a