Conversione XML in excel

di il
2 risposte

Conversione XML in excel

Buonasera a tutti

mi serve automatizzare l'acquisizione di un xml in excel. Ho provato
qualcosa in giro ma tutti fanno il mapping dei dati. A me non serve
questo a me serve ho un file xml lo voglio trasformarto cosi' come e' in excel

Qualcuno ha sviluppato qualcosa di simile in vb.net? Grazie per l'aiuto

2 Risposte

  • Re: Conversione XML in excel

    maxcatani ha scritto:


    ho un file xml lo voglio trasformarto cosi' come e' in excel
    Essendo file che hanno una struttura diversa, la tua richiesta non ha senso così come è formulata.

    XML è un documento che contiene elementi e attributi, che possono contenere altri elementi oppure testo o dati, organizzati gerarchicamente in una struttura rappresentabile con un albero (solo per iniziare), mentre Excel è un documento con cartelle di fogli fatti da righe e colonne.

    Data questa premessa e viste le differenze, non esiste la "trasformazione così com'è", ma occorre capire come le informazioni dell'uno vadano riportate nel secondo e con quali criteri, magari fornendo anche un esempio di documento XML da trattare.

    Fornisci le informazioni mancanti e magari qualcosa di più si può ipotizzare.

    Ciao!
  • Re: Conversione XML in excel

    Un esempio di codice potrebbe essere questo
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim xlApp As New Excel.Application
            Dim xlWorkBook As Excel.Workbook
            Dim xlWorkSheet As Excel.Worksheet
            Dim ds As New DataSet
            Dim xmlFile As XmlReader
            Dim i, j As Integer
            xlWorkBook = xlApp.Workbooks.Add
            xlWorkSheet = xlWorkBook.Sheets("Foglio1")
            xmlFile = XmlReader.Create("C:\Documenti\rubrica.xml", New XmlReaderSettings())
            ds.ReadXml(xmlFile)
    
            For i = 0 To ds.Tables(0).Rows.Count - 1
                For j = 0 To ds.Tables(0).Columns.Count - 1
                    xlWorkSheet.Cells(i + 1, j + 1) =
                    ds.Tables(0).Rows(i).Item(j)
                Next
            Next
            xlApp.Visible = True
         End Sub
Devi accedere o registrarti per scrivere nel forum
2 risposte