Condividi:        

Esportare tabella su xml senza creare file di mapping

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Esportare tabella su xml senza creare file di mapping

Postdi patel » 22/02/18 17:14

Ho trovato in rete una soluzione che però non sempre funziona come nel caso del file allegato
https://www.dropbox.com/s/wgsievy1kxjcg ... .xlsm?dl=0
esiste un modo più semplice utilizzabile con excel 2010 ?
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Sponsor
 

Re: Esportare tabella su xml senza creare file di mapping

Postdi patel » 22/02/18 19:05

Senza creare MANUALMENTE il file di mapping
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Esportare tabella su xml senza creare file di mapping

Postdi Anthony47 » 22/02/18 23:33

Non sono un esperto di xml, quindi devo leggermmela con calma. In prima battuta non capisco perche' la faccia cosi' complicata a gestire un documento di un solo livello gerarchico.

Ci sentiamo
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Esportare tabella su xml senza creare file di mapping

Postdi patel » 23/02/18 08:56

altra soluzione più semplice che ho trovato è questa
Codice: Seleziona tutto
Sub ExporToXML()
    strTargetFile = ThisWorkbook.Path & "\TestX.xml"
    MakeXML 1, 2, strTargetFile
End Sub

Sub MakeXML(iCaptionRow As Integer, iDataStartRow As Integer, sOutputFileName As String)
    Q = Chr$(34)
    sXML = "<?xml version=" & Q & "1.0" & Q & " encoding=" & Q & "UTF-8" & Q & "?>"
    sXML = sXML & "<rows>"
    iColCount = 1
    While Trim$(Cells(iCaptionRow, iColCount)) > ""
        iColCount = iColCount + 1
    Wend
    iRow = iDataStartRow
    While Cells(iRow, 1) > ""
        sXML = sXML & "<row id=" & Q & iRow & Q & ">"
        For icol = 1 To iColCount - 1
           sXML = sXML & "<" & Trim$(Cells(iCaptionRow, icol)) & ">"
           sXML = sXML & Trim$(Cells(iRow, icol))
           sXML = sXML & "</" & Trim$(Cells(iCaptionRow, icol)) & ">"
        Next
        sXML = sXML & "</row>"
        iRow = iRow + 1
    Wend
    sXML = sXML & "</rows>"
    Close
    nDestFile = FreeFile
    Open sOutputFileName For Output As #nDestFile
    Print #nDestFile, sXML
    Close
End Sub
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Esportare tabella su xml senza creare file di mapping

Postdi Anthony47 » 23/02/18 15:48

Beh, questa mi sembra piu' ragionevole...

Comunque avevo realizzato una macro che avrebbe dovuto creare file xml con struttura a piu' livelli; ma e' una cosa circa del 2010 (perche' avevo acquistato il libro XML di Massimo Canducci, e lo scontrino dice 24-set-2010). Ma non l'ho ancora trovato, era un progetto che poi fu abbandonato, ma su qualche disco esiste ancora.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Esportare tabella su xml senza creare file di mapping":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti