Per importare ed esportare dati XML in Excel, è utile usare un mapping XML che associa gli elementi XML alle celle per ottenere i risultati desiderati. Per crearne uno sono necessari un file XML Schema (con estensione xsd) e un file di dati XML (con estensione xml). Dopo aver creato il mapping XML, è possibile eseguire il mapping degli elementi XML nel modo desiderato.
Suggerimento: Per altre informazioni sull'uso di XML con Excel, vedere Panoramica di XML in Excel.
Individuare o creare i file XML Schema e i file di dati XML
Potrebbe già essere disponibile un file XML Schema o un file di dati XML, creato da un altro database o un'altra applicazione. È il caso ad esempio di un'applicazione line-of-business che esporta dati in questi formati di file XML, di un sito Web commerciale che fornisce questi file XML o di un'applicazione personalizzata sviluppata dal reparto IT che crea automaticamente questi file XML.
Se non si hanno i file XML necessari, è possibile crearli salvando i dati che si vogliono usare come file di testo. Si può quindi usare sia Access che Excel per convertire il file di testo nei file XML necessari. Ecco come:
Access
-
Importare il file di testo da convertire e collegarlo a una nuova tabella.
-
Fare clic su File > Apri.
-
Nella finestra di dialogo Apri selezionare e aprire il database in cui si vuole creare una nuova tabella.
-
Fare clic su Dati esterni > File di testo e seguire le istruzioni per ogni passaggio, assicurandosi di collegare la tabella al file di testo.
La nuova tabella verrà creata e visualizzata nel riquadro di spostamento.
-
-
Esportare i dati dalla tabella collegata a un file di dati XML e un file di schema XML.
-
Fare clic su Dati esterni > File XML (nel gruppo Esporta).
-
Nella finestra di dialogo Esporta - File XML specificare il nome e il formato del file, quindi fare clic su OK.
-
-
Chiudere Access.
Excel
-
Creare un mapping XML basato sul file XML Schema esportato da Access.
Se viene visualizzata la finestra di dialogo Più nodi radice, scegliere dataroot in modo da creare una tabella XML.
-
Creare una tabella XML eseguendo il mapping dell'elemento dataroot. Per altre informazioni, vedere Eseguire il mapping di elementi XML.
-
Importare il file XML esportato da Access.
Note:
-
Excel non supporta diversi tipi di costrutti di elementi XML Schema. I costrutti di elementi XML Schema seguenti non possono essere importati in Excel:
-
<qualsiasi> Questo elemento consente di includere attributi non dichiarati dallo schema.
-
<>anyAttribute Questo elemento consente di includere elementi non dichiarati dallo schema.
-
Strutture ricorsive Un esempio comune di struttura ricorsiva è costituito da una gerarchia di dipendenti e manager in cui gli stessi elementi XML sono annidati per diversi livelli. Excel non supporta strutture ricorsive con più di un livello.
-
Elementi astratti Questi elementi devono essere dichiarati nello schema, ma non vengono mai utilizzati come elementi. Gli elementi astratti dipendono da altri elementi che li sostituiscono.
-
Gruppi di sostituzione Questi gruppi consentono lo scambio di un elemento ogni volta che si fa riferimento a un altro elemento. Per indicare che un elemento è membro del gruppo di sostituzione di un altro elemento, viene utilizzato l'attributo <substitutionGroup>.
-
Contenuto misto Questo contenuto viene dichiarato utilizzando mixed="true" nella definizione di un tipo complesso. Excel non supporta il contenuto semplice del tipo complesso, ma supporta i tag e gli attributi figlio definiti nel tipo complesso.
Usare file XML Schema e file di dati XML di esempio
I dati di esempio seguenti contengono elementi e strutture XML di base che possono essere usati per testare i mapping XML, se non si hanno i file XML o i file di testo per creare i file XML. Ecco come salvare questi dati di esempio in file nel computer:
-
Selezionare il testo di esempio del file da copiare e premere CTRL+C.
-
Avviare Blocco note e premere CTRL+V per incollare il testo di esempio.
-
Premere CTRL+S per salvare il file con il nome e l'estensione dei dati di esempio copiati.
-
Premere CTRL+N in Blocco note e ripetere i passaggi da 1 a 3 per creare un file per il secondo testo di esempio.
-
Chiudere Blocco note.
Dati XML di esempio (Expenses.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
XML Schema di esempio (Expenses.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Creare un mapping XML
Per creare un mapping XML, è necessario aggiungere un XML Schema a una cartella di lavoro. È possibile copiare lo schema da un file XML Schema (con estensione xsd) oppure provare a derivarne uno da un file di dati XML (con estensione xml) tramite Excel.
-
Fare clic su Sviluppo > Origine.
Se la scheda Sviluppo non è visibile, vedere Visualizzare la scheda Sviluppo.
-
Nel riquadro attività Origine XML fare clic su Mapping XML e quindi su Aggiungi.
-
Nell'elenco Cerca in, fare clic sull'unità, sulla cartella o sul percorso Internet contenente il file da aprire.
-
Fare clic sul file e quindi su Apri.
-
Per un file XML Schema viene creato un mapping XML basato sull'XML Schema. Se viene visualizzata la finestra di dialogo Più nodi radice, scegliere uno dei nodi radice definiti nel file XML Schema.
-
Per un file di dati XML, Excel tenterà di dedurre l'XML Schema dai dati XML e quindi creerà un mapping XML.
-
-
Fare clic su OK.
Il mapping XML viene visualizzato nel riquadro attività Origine XML.
Eseguire il mapping di elementi XML
È possibile eseguire il mapping tra elementi XML e singole celle mappate e celle ripetute in tabelle XML per creare una relazione tra la cella e l'elemento dati XML nello schema XML.
-
Fare clic su Sviluppo > Origine.
Se la scheda Sviluppo non è visibile, vedere Visualizzare la scheda Sviluppo.
-
Nel riquadro attività Origine XML selezionare gli elementi di cui eseguire il mapping.
Per selezionare elementi non adiacenti, fare clic su un elemento, tenere premuto CTRL e fare clic su ogni elemento di cui eseguire il mapping.
-
Per eseguire il mapping degli elementi, effettuare le seguenti operazioni:
-
Fare clic con il pulsante destro del mouse sugli elementi selezionati, quindi scegliere Mapping elemento.
-
Nella finestra di dialogo Mapping elementi XML selezionare una cella e fare clic su OK.
Suggerimento: È inoltre possibile trascinare gli elementi selezionati nella posizione del foglio di lavoro in cui si desidera inserirli.
Ogni elemento verrà visualizzato in grassetto nel riquadro attività Origine XML per indicare che ne è stato eseguito il mapping.
-
-
Determinare la modalità di gestione di etichette e intestazioni di colonna:
-
Quando si trascina un elemento XML non ripetuto nel foglio di lavoro per creare una singola cella mappata, viene visualizzato uno smart tag con tre comandi, che è possibile utilizzare per determinare la posizione dell'intestazione o dell'etichetta:
Dati con intestazione Fare clic su questa opzione per ignorare l'intestazione dell'elemento XML se la cella ha già un'intestazione (a sinistra dei dati o sopra i dati).
Posiziona intestazione XML a sinistra Fare clic su questa opzione per utilizzare l'intestazione dell'elemento XML come etichetta della cella (a sinistra dei dati).
Posiziona intestazione XML sopra Fare clic su questa opzione per utilizzare l'intestazione dell'elemento XML come intestazione della cella (sopra i dati).
-
Quando si trascina un elemento ripetuto nel foglio di lavoro per creare celle ripetute in una tabella XML, i nomi di elemento XML vengono automaticamente utilizzati come intestazioni di colonna per la tabella. È tuttavia possibile modificare le intestazioni di colonna in qualsiasi intestazione desiderata modificando le celle dell'intestazione di colonna.
Nel riquadro attività Origine XML è possibile fare clic su Opzioni per determinare con maggiore precisione il comportamento della tabella XML:
Unisci automaticamente elementi durante il mapping Se questa casella di controllo è selezionata, le tabelle XML vengono espanse automaticamente quando si trascina un elemento in una cella adiacente alla tabella XML.
Dati con titoli Se questa casella di controllo è selezionata, è possibile utilizzare i dati esistenti come intestazioni di colonna quando si esegue il mapping tra elementi ripetuti e il foglio di lavoro.
Note:
-
Se tutti i comandi XML sono visualizzati in grigio e non è possibile eseguire il mapping tra gli elementi XML e le celle, è possibile che la cartella di lavoro sia condivisa. Fare clic su Revisione > Condividi cartella di lavoro per verificarlo ed eventualmente interrompere la condivisione.
Per eseguire il mapping di elementi XML in una cartella di lavoro che si vuole condividere, è necessario eseguire il mapping tra gli elementi XML e le celle desiderate, importare i dati XML, rimuovere tutti i mapping XML e quindi condividere la cartella di lavoro.
-
Se non si riesce a copiare una tabella XML contenente dati in un'altra cartella di lavoro, è possibile che alla tabella XML sia associato un mapping XML che definisce la struttura dei dati. Questo mapping XML è memorizzato nella cartella di lavoro, ma non viene incluso automaticamente quando si copia la tabella XML in una nuova cartella di lavoro. Invece di copiare la tabella XML, Excel crea una tabella di Excel che contiene gli stessi dati. Se si vuole che la nuova tabella sia in formato XML, procedere come segue:
-
Aggiungere un mapping XML alla nuova cartella di lavoro usando il file con estensione xml o xsd usato per creare il mapping XML originale. È consigliabile salvare questi file se si vogliono aggiungere mapping XML ad altre cartelle di lavoro.
-
Eseguire il mapping degli elementi XML alla tabella per renderla una tabella XML.
-
-
Quando si esegue il mapping tra un elemento XML ripetuto e una cella unita, Excel divide la cella. Si tratta di un comportamento previsto, poiché gli elementi ripetuti possono essere usati solo con celle non unite.
È possibile eseguire il mapping tra singoli elementi XML non ripetuti e una cella unita, ma il mapping tra un elemento XML ripetuto (o un elemento che contiene un elemento ripetuto) e una cella unita non è consentito. La cella viene divisa e il mapping viene eseguito con la cella in cui si trova il puntatore del mouse.
-
-
Suggerimenti:
-
È possibile annullare il mapping degli elementi XML che non si desidera utilizzare o per impedire che il contenuto delle celle venga sovrascritto durante l'importazione di dati XML. Ad esempio, si può annullare temporaneamente il mapping tra un elemento XML e una singola cella o celle ripetute che contengono formule che non devono essere sovrascritte durante l'importazione di un file XML. Una volta completata l'importazione, è possibile eseguire di nuovo il mapping dell'elemento XML alle celle della formula, in modo da esportare i risultati delle formule nel file di dati XML.
-
Per annullare il mapping degli elementi XML, fare clic con il pulsante destro del mouse sul relativo nome nel riquadro attività Origine XML e scegliere Rimuovi elemento.
Visualizzare la scheda Sviluppo
Se la scheda Sviluppo non è visibile, eseguire le operazioni seguenti per visualizzarla:
-
Fare clic su File > Opzioni.
-
Fare clic sulla categoria Personalizzazione barra multifunzione.
-
In Schede principali selezionare la casella Sviluppo e fare clic su OK.
Vedere anche
Eliminare informazioni del mapping XML da una cartella di lavoro