Microsoft Excel

Microsoft Excel

mercoledì 27 gennaio 2016

From xml to Excel: importare un file xml su Excel con Power Query


Chi si occupa di lavori pubblici ha la necessità di disporre di un prezzario di riferimento completo in formato Excel. Generalmente si trova in vendita allegato al libro cartaceo, mentre più difficile è trovarne uno aggiornato e completo on-line.

Come esempio vediamo come importare il prezzario della Regione Toscana nonostante la versione Excel si trovi online all’indirizzo qui riportato:


In definitiva vedremo dunque come sia possibile importare file xml direttamente in Excel con Power Query.

Il risultato che si ottiene è una tabella del tipo:


Procedere nel modo seguente: 
1. Per prima cosa scarichiamo l’add-on di Excel Power Query, installabile sulle versioni 2010 e successive di Excel. 




2. Scaricare il file xml del prezzario di riferimento.


3. Il file xml del prezzario di riferimento è un file di scrittura dove i dati sono “strutturati”, cioè scritti con riferimenti e simboli propri del linguaggio stesso.



4. Importa il file xml in Excel.



5. Importando il file automaticamente si apre lo “Strumento di navigazione”. Posizionare il mouse sulla tabella articolo. L’ ”editor di query” (anteprima scaricata), visualizza il prezzario importato. Cliccare “carica” in basso a destra.



6. Le voci di prezzo importate sono numeri interi: nell’importare il file, “Power Query” attribuisce il “tipo di dato: numero intero” alle voci della colonna “prezzo”. Vediamo come risolvere il problema.


7. Accedere all’ “editor avanzato”: Query → Modifica → Editor avanzato. 



L’ “editor avanzato” contiene il codice corrispondente ai passaggi che abbiamo eseguito con i pulsanti. Come si vede dalla figura seguente “Power Query” ha attribuito in automatico alle voci della colonna “prezzo” il tipo “numero intero”.




8. Sostituiamo il “tipo numero intero” “Int64.Type” con il “tipo testo” “type text”. Cliccare su operazione → Chiudi e carica (in alto a sinistra nella barra multifunzione) e otteniamo il risultato voluto.



9. Per finire dobbiamo sostituire, nella colonna prezzo i “punti” con “le virgole”. Accedere all’editor di query dalla barra multifunzione: Query → Modifica. Cliccare con il tasto dx del mouse sulla colonna prezzo e vai a “Sostituisci valori” e completa l’operazione. Il risultato finale è la prima tabella all’inizio del post. 




10. Per finire c’è da dire che la colonna analisi, che contiene i dati che hanno portato alla determinazione del prezzo finale (la cosiddetta Analisi dei Prezzi), può essere ulteriormente sviluppata espandendo (in serie) tutte le tabelle fino ad ottenere i singoli prezzi che hanno concorso alla composizione del prezzo finale. Il prezzario conterrà così anche le colonne relative alla Analisi dei Prezzi.




Buon Lavoro
Daniele Paolinelli