How to pass the data from an xml to excel using Vb.Net?

0

Good day, The problem is that when I read the data of my xml, it does everything without problem, but when trying to send the data to an excel, it overwrites the data and only pulls the data of the last xml that read .

Help.

 Imports System.IO
 Imports System.Xml
 Imports Microsoft.Office.Interop
 Imports Microsoft.Office.Interop.Excel

 Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim Version_xml As String
    Dim implocaltraladados As Decimal
    Dim implocalretenidos As Decimal
    Dim retenidos As Decimal
    Dim trasladados As Decimal
    Dim Subtotal As Decimal
    Dim valor_noIdentificacion As String
    Dim preciounitarioxml As Decimal
    Dim importeconcepto As Decimal
    Dim cantidadvendida As Decimal
    Dim subtotalclave As Decimal = 0
    Dim descripcionxml As String
    Dim Emisor_Nombre As String
    Dim total As Decimal
    Dim UUID As String
    Dim VarConceptos As XmlNodeList
    On Error Resume Next
    Dim VarDocumentoXML As XmlDocument = New XmlDocument()
    Dim VarManager As XmlNamespaceManager = New XmlNamespaceManager(VarDocumentoXML.NameTable)
    Dim array(0)

    Dim folderPath = "C:\Users\C-Juarezl\Desktop\Xml\"


    For Each filePath In Directory.GetFiles(folderPath, "*.xml")
        VarDocumentoXML.Load(filePath)  'Aqui puedes definir la ruta del archivo mediante un OpenFileDialog o  algun otro metodo para especificar 



        VarManager.AddNamespace("cfdi", "http://www.sat.gob.mx/cfd/3")
        VarManager.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
        VarManager.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
        Version_xml = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/@Version", VarManager).InnerText
        total = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/@Total", VarManager).InnerText
        Emisor_Nombre = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/cfdi:Emisor/@Nombre", VarManager).InnerText
        Console.WriteLine(Emisor_Nombre)
        UUID = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/cfdi:Complemento/tfd:TimbreFiscalDigital/@UUID", VarManager).InnerText
        Label2.Text = Emisor_Nombre
        Label4.Text = UUID
        Label5.Text = total.ToString("c")
        implocalretenidos = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/cfdi:Complemento/implocal:ImpuestosLocales/@TotaldeRetenciones", VarManager).InnerText
        implocaltraladados = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/cfdi:Complemento/implocal:ImpuestosLocales/@TotaldeTraslados", VarManager).InnerText
        retenidos = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/cfdi:Impuestos/@TotalImpuestosRetenidos", VarManager).InnerText
        trasladados = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/cfdi:Impuestos/@TotalImpuestosTrasladados", VarManager).InnerText
        Subtotal = VarDocumentoXML.SelectSingleNode("/cfdi:Comprobante/@SubTotal", VarManager).InnerText
        VarConceptos = VarDocumentoXML.SelectNodes("/cfdi:Comprobante/cfdi:Conceptos/cfdi:Concepto", VarManager)





    Next
    For Each node In VarConceptos
        valor_noIdentificacion = node.attributes("NoIdentificacion").value
        preciounitarioxml = node.attributes("ValorUnitario").value
        importeconcepto = node.attributes("Importe").value
        cantidadvendida = node.attributes("Cantidad").value
        subtotalclave = node.attributes("Importe").value
        descripcionxml = node.attributes("Descripcion").value
    Next

    Console.WriteLine(Emisor_Nombre)


End Sub
    
asked by Eduardo Juarez Benavides 10.10.2018 в 23:05
source

0 answers