Identificativo articolo: 288215 - Ultima modifica: martedì 7 novembre 2006 - Revisione: 3.0 INFO: Microsoft Excel 2002 and XML
Sommario Excel 2002 consente di aprire e salvare i file nel formato
XML (Extensible Markup Language). In questo articolo viene fornita una
panoramica sul formato XML, sui fogli di stile XML e sul modo in cui possono
essere utilizzati in Excel. Nell'articolo vengono affrontati i seguenti
argomenti: InformazioniCos'è il formato XML?L'XML è un formato di testo per i dati strutturati. Dato che l'XML è semplice da creare e interpretare, è utilizzato in un'ampia varietà di applicazioni. Il formato XML corretto segue una serie di linee guida che stabiliscono la struttura dei dati anche se consente allo sviluppatore XML una grande flessibilità nella creazione di un numero illimitato di tag personalizzati che consentono di descrivere nel migliore dei modi i dati e le relazioni che esistono tra loro.Come l'HTML, l'XML è un linguaggio markup in cui il testo è organizzato con una combinazione di tag, vale a dire termini racchiusi tra parentesi angolari < e >) e attributi del tipo nome = "valore". Tuttavia, mentre l'HTML specifica il significato di ogni tag e attributo e come devono essere formattati per la visualizzazione, l'XML utilizza i tag solo per delineare gli elementi di dati. Dato che è possibile utilizzare qualsiasi nome di tag in formato XML, è discrezione dell'applicazione interpretare i dati e il relativo significato. Anche se gli sviluppatori XML sono liberi di creare qualsiasi tag o gerarchia che più ritengono appropriata per i dati, esiste una serie di specifiche che deve essere seguita per garantire che l'XML sia considerato corretto. Per essere corretto l'XML deve avere le seguenti caratteristiche:
Il codice XML della Figura 1 descrive le voci di un dizionario. L'elemento principale è <Dictionary>, che contiene un elemento figlio denominato <Entries>. <Entries> contiene tre elementi figlio, ciascuno dei quali descrive i dati per una singola voce del dizionario. A ogni voce corrispondono due elementi figlio, vale a dire <Word> e <Definition>. Il valore di ciascun elemento <Word> è il termine stesso. Gli elementi <Word> dispongono inoltre di un attributo Type che indica se il termine è un aggettivo (1) o un sostantivo (2). Gli elementi <Definition> hanno un valore testuale e nessun attributo. Cos'è un foglio di stile XML?I tag XML descrivono i dati in un file di testo, ma il linguaggio XML in sé non specifica il modo in cui i dati devono essere presentati all'utente. Le regole di formattazione per i dati XML sono spesso contenute nei fogli di stile XML. Tali fogli di stile sono documenti XML corretti che utilizzano il linguaggio XSL (Extensible Style Language) per trasformare i dati XML per la visualizzazione. È possibile disporre di molti fogli di stile per gli stessi dati XML. Mentre la struttura di dati XML vera e propria potrebbe rimanere invariata, i fogli di stile consentono la flessibilità di visualizzare i dati in molti modi diversi.Dictionary.xsl, illustrato nella Figura 2, è un foglio di stile che può essere utilizzato per trasformare il file Dictionary.xml di esempio. La trasformazione dà come risultato una presentazione dei dati in formato HTML che può essere visualizzata in un browser. Il foglio di stile XSL dispone le voci del dizionario in ordine alfabetico in un elenco puntato e formatta ciascun componente della voce del dizionario. Il documento XML trasformato che viene visualizzato nel browser è simile a quanto riportato di seguito:
In che modo Excel traduce i file XML?Excel è in grado di aprire qualsiasi file XML corretto. I file XML possono essere aperti direttamente scegliendo Apri dal menu File. I file XML possono anche essere aperti in modo programmatico utilizzando il metodo Open o OpenXML dell'insieme Workbooks. Indipendentemente dal fatto che il documento XML venga aperto attraverso il codice o l'interfaccia utente, il file è contrassegnato in Sola lettura per evitare sostituzioni accidentali del file di origine con uno in formato XMLSS (XML Spreadsheet).XML bidimensionale Quando si importa il codice XML che non è in formato XMLSS, Excel utilizza un algoritmo bidimensionale speciale per caricare i dati nelle righe e nelle colonne. I fogli di lavoro di Excel sono entità bidimensionali costituite da righe e colonne. Dato che l'XML può avere più di due dimensioni, la bidimensionalità è necessaria per interpretare il codice XML per fare in modo che venga caricato nelle celle di un foglio di lavoro. Si considerino i due esempi di codice XML riportati di seguito, che rappresentano essenzialmente gli stessi dati in modi diversi: Se si carica il codice XML della Figura 3 in Excel, i dati verranno importati nelle celle come illustrato di seguito:
Excel considera gli attributi esattamente come elementi figlio. Per eliminare la collisione dei nomi con gli elementi esistenti, Excel fa precedere il simbolo at (@) ai nomi degli attributi per coerenza con gli standard di assegnazione dei nomi degli schemi XSL. Per questo motivo, il codice XML della Figura 4 viene caricato nelle celle nello stesso modo, a eccezione delle celle A2, B2 e C2 che contengono rispettivamente "/@CustomerID", "/@FirstName" e "/@LastName". Il codice XML delle Figure 3 e 4 segue una struttura bidimensionale, semplice da verificare. Si consideri invece il codice XML riportato di seguito, che non può essere facilmente interpretato come bidimensionale a causa dell'aggiunta del livello <Order>: Nel codice XML della Figura 5 è presente un cliente con due ordini e un altro cliente con un ordine. Excel deve importare il codice XML in modo tale che la relazione tra Orders e Customers sia conservata. Excel importa il codice XML in tre righe, come illustrato di seguito:
Sono presenti due colonne aggiuntive, vale a dire una colonna #id che associa la riga con il nodo <Customer> e una colonna #agg che rappresenta ciò che può essere considerato come "aggiunta". Con #agg il valore del primo nodo del livello superiore è elencato una volta e omesso per le righe rimanenti. Si noti inoltre che la colonna <Amt> precede la colonna <ProdID> anche se è visualizzata dopo <ProdID> nel codice XML vero e proprio. L'algoritmo bidimensionale carica gli elementi in ordine alfabetico da sinistra a destra, non nell'ordine naturale in cui sono disposti nel documento XML originale. Fogli di stile L'utilizzo dei fogli di stile può consentire vantaggi importanti per l'apertura dei file XML in Excel. Mediante un foglio di stile il controllo della collocazione dei dati nelle celle è migliore ed è inoltre possibile formattare le celle. Quando si apre un file XML in Excel e tale file contiene una o più istruzioni di elaborazione xml-stylesheet, verrà richiesto di selezionare i fogli di stile desiderati per la trasformazione. Ancora una volta si consideri il codice della Figura 5. Se si aggiunge un'istruzione di elaborazione al codice XML (<?xml-stylesheet type="text/xsl" href="Customer.xsl" ?>), sarà possibile controllare in quali colonne del foglio di lavoro vengono visualizzati i dati e applicare la formattazione personalizzata. Quello riportato di seguito è un esempio di foglio di stile che può essere utilizzato per la trasformazione del codice XML di esempio. Il foglio di stile trasforma il codice XML in codice HTML valido che Excel può tradurre in formato nativo. Quando si apre il codice XML applicandovi questo foglio di stile, Excel visualizza i dati sotto forma di una tabella costituita da quattro colonne con le intestazioni Customer ID, Name, Product ID e Amount. Nella tabella è inoltre presente la formattazione delle celle, ad esempio degli attributi dei tipi di carattere, dei colori di sfondo delle celle e dei bordi. Esercizio: copiare e incollare il codice XML della Figura 5 in qualsiasi editor di testo e salvarlo come Customer.xml. Copiare quindi il foglio di stile XSL della Figura 6 e salvarlo come Customer.xsl nella stessa cartella di Customer.xml. Avviare Excel 2002 e aprire il file con e senza il foglio di stile applicato per verificare la differenza. Risoluzione dei problemi di apertura dei file XML Se si tenta di aprire un file XML non corretto, verrà visualizzato un avviso o un errore dell'analisi dello script. L'avviso visualizzato fornisce una descrizione del motivo per cui il documento XML non può essere aperto. La descrizione può anche fornire dettagli sul nodo che ha causato l'errore della traduzione. In alcuni casi in cui è presente un errore di analisi, potrebbe essere visualizzata una finestra di dialogo che elenca gli errori invece di un messaggio di avviso. Gli errori di analisi degli script sono registrati in un file denominato XMLErr.log contenuto nella cartella Temp. Per esaminare rapidamente il contenuto di XMLErr.log, attenersi alla seguente procedura:
Il formato XMLSS (XML Spreadsheet)Excel può salvare le cartelle di lavoro in formato XML. Quando si effettua questa operazione, Excel salva la cartella di lavoro nel formato XMLSS, che descrive il contenuto della cartella di lavoro rendendo permanenti dati e formule delle celle, formati di cella e impostazioni del foglio di lavoro e delle cartelle di lavoro. Alcune funzionalità di Excel tuttavia non possono essere permanenti in XML, ad esempio:
Integrazione dell'XML nelle soluzioni ExcelL'utilizzo dei dati XML consente agli sviluppatori di avere molte opportunità per le soluzioni di Excel 2002.È ad esempio possibile creare cartelle di lavoro costituite da più fogli in formato XMLSS in fase di runtime senza automatizzare Excel, operazione che richiede il caricamento del file eseguibile di Excel. Dato che Excel rappresenta una server di automazione out-of-process, le chiamate al modello di oggetti di Excel possono ridurre il livello delle prestazioni. È possibile creare il formato XMLSS in-process utilizzando solo il parser Microsoft XML (MSXML) e i fogli di stile XML oppure è possibile utilizzare il componente in-process foglio di calcolo di Office XP per creare un foglio di calcolo e recuperare il formato XMLSS. In entrambi i casi il formato XMLSS risultante potrà essere aperto direttamente in Excel come formato nativo. Inviando il formato XMLSS ai browser client mediante il tipo di contenuto MIME (Multipurpose Internet Mail Extensions) di Excel, le applicazioni Web come quelle che utilizzano le pagine ASP (Active Server Pages) possono creare cartelle di lavoro complesse senza dover eseguire Excel nel server. Per disporre di codice di esempio che mostri i possibili impieghi della creazione del formato XMLSS, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito: 288130
(http://support.microsoft.com/kb/288130/
)
HOWTO: Utilizzare ASP per creare un foglio di calcolo XML per la visualizzazione sul lato client
285891
(http://support.microsoft.com/kb/285891/
)
HOWTO: Utilizzare Visual Basic o ASP per creare un foglio di calcolo XML per Excel 2002
Un altro impiego potenziale del codice XML in una
soluzione Excel è quello di estrarre i dati da un intervallo di celle in un
formato che possa essere facilmente condiviso con altre applicazioni. Il
formato XMLSS può essere estratto dalle celle di un foglio di lavoro
richiamando la proprietà Valuedell'oggetto Range con il parametro xlRangeValueXMLSpreadsheet. È possibile utilizzare un foglio di stile per trasformare il
formato XMLSS in un formato XML qualsiasi che possa essere utilizzato da
un'altra applicazione. Un impiego possibile di quanto appena descritto è quello
di trasformare il codice XMLSS nel formato XML personalizzato che possa essere
inviato ed elaborato da un'applicazione Web. Per disporre di un esempio di
questa tecnica, vedere l'articolo della Microsoft Knowledge Base riportato di
seguito:278976
(http://support.microsoft.com/kb/278976/
)
HOWTO: Utilizzare XSL per trasformare un foglio di calcolo XML di Excel per l'utilizzo sul lato server
Riferimenti Per ulteriori informazioni, vedere i seguenti siti Web
(informazioni in lingua inglese):
World Wide Web Consortium (W3C) http://www.w3.org (http://www.w3.org) Introduzione all'XML http://msdn.microsoft.com/xml/c-frame.htm?/xml/general/intro.asp (http://msdn.microsoft.com/xml/c-frame.htm?/xml/general/intro.asp) Esercitazioni XML http://msdn.microsoft.com/xml/c-frame.htm?/xml/tutorial/default.asp (http://msdn.microsoft.com/xml/c-frame.htm?/xml/tutorial/default.asp) Guida per lo sviluppatore XSLT http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/6b8e4b12-f090-49e5-a2e4-b8fb913ac320.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/6b8e4b12-f090-49e5-a2e4-b8fb913ac320.asp) Guida per lo sviluppatore XML http://msdn.microsoft.com/library/en-us/xmlsdk/htm/xml_devgd_overview_91b9.asp (http://msdn.microsoft.com/library/en-us/xmlsdk/htm/xml_devgd_overview_91b9.asp)
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Altre risorse Altri siti di supporto
CommunityRichiedi assistenzaTraduzione articoli
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Torna all'inizio
