Quali problemi risolve questo strumento?
Dovendo realizzare una Intranet aziendale contenente diverse pagine ASPX di interrogazione
dati, ho constatato che l'export tradizionale del Gridview in formato HTML non era
soddisfacente:
- produceva un output molto voluminoso a causa di tutti i tag HTML contenuti
- una volta sul Client, l'Excel dell'utente era molto lento nell'aprire il file stesso
- la rappresentazione dei dati, sopratutto date e numeri, era assolutamente insoddisfacente.
Per ovviare a questi inconvenienti ho sviluppato questo Tool, che dà all'utente la possibilità di
scaricare rapidamente dati in formato XML
per Excel 2003 ed in formato XLSX per Excel
2007 da un web site senza dover installare Office sulla macchina in questione.
In che cosa consiste il "Gridview to Excel Export Tool"?
Il "Gridview to Excel Export Tool" consiste in una dll nonchè un insieme di
file utilizzati come template Excel 2003, Excel 2007.
Come funziona
Una volta referenziata la dll dal
sito che intende utilizzarla, puoi aggiungere
alla tua pagina ASPX un pulsante ed
il codice necessario per eseguire l'export
nel formato desiderato. Il tool legge i dati direttamente dal datasource
indicato, che può essere indifferentemente il sqldatasource, il dataview
o l'objectdatasource che alimenta la tua gridview e la stessa gridview. Nel caso di export verso Excel 2003, viene prodotto un file XML, nel
caso di export verso Excel 2007 viene prodotto un file xlsx.
Il tool fornisce un'interfaccia che consente di definire quali colonne (field)
estrarre dal datasource. Nel caso al tool sia passata la Gridview le colonne da
esportare sono desunte dalla Gridview stessa.
Funziona anche senza Gridview!
E' vero! Pur essendo nato per esportare dati da una Gridview, il tool consente
ora l'export dei dati direttamente dal datasource. La Gridview, può essere
presente o meno, e può essere passata o meno al Tool. Nel caso che lo sia, il
tool deriva i titoli delle colonne e la lista dei field da esportare dalla
Gridview stessa
Perchè non adoperare il VSTO?
E uno strumento valido per applicazioni Windows Forms ma non è compatibile
con le pagine ASPX.
Prerequisiti per l'installazione del "Gridview to Excel Export Tool"
Per usare il tool è necessario che siano installati i seguenti software:
Prerequisiti per l'installazione del Demo Site
Per installare ed utilizzare questo Demo Site, è necessario disporre
del Microsoft AdventureWorks demo database.
Come viene proposto l'export
E' possibile richiedere l'export del file in due modalità diverse:
- sulla Response del sistema ed allora il file viene istantaneamente
proposto all'utente che ha la possibilità di aprirlo o salvarlo sulla propria macchina
per successiva consultazione;
- può essere inviato all'utente via email come allegato compresso in uno
Zip file.
Altri vantaggi
- con l'export in formato Excel 2007 il limite di righe va da 65536 righe per foglio
a milione (1.000.000).
Per testare le performance del tool
clicca qui.
- l'export in formato xlsx, cioè Excel 2007, è molto meno voluminoso del corrispondente
export verso Excel 2003. Infatti il formato xlsx è in realtà un formato zippato
(utilizza le librerie IO.Packaging della .Net Framework 3.0). Inoltre la struttura
del formato xlsx prevede un dizionario (sharedstrings.xml) interno di tutte le stringhe alfanumeriche
presenti in tutti gli sheets del workbook. Questo fa sì che una stringa non sia
mai duplicata all'interno del file. Per verificare la differenza di dimensioni clicca qui, e prova a confrontare le
dimensioni di un export in Excel 2003 con il corrispondente Excel 2007.
- si possono ottenere workbook Excel contenenti più fogli. Per provare
clicca qui.
Tracciato dei fogli Excel
Entrambe le estrazioni in Excel 2003 ed Excel 2007 hanno le seguenti caratteristiche:
- La prima riga è impostabile a piacimento. Viene di solito usata per visualizzare
i criteri applicati nella pagina ASPX per ottenere l'estrazione
- La seconda riga contiene le intestazioni delle colonne che vengono tratte
automaticamente dalle ColumnHeaders del Gridview
- La prima e la seconda riga sono già bloccate (frozen) in modo che l'utente possa scorre i dati senza perder
di vista le intestazioni
- La seconda riga è già impostata con i filtri automatici di Excel
risparmiando all'utente la noia di dover eseguire quest'operazione manualmente.
- è possibile selezionare alcune colonne e creare opportuni totali a fondo foglio
Excel
- è possibile creare colonne di valori percentuali calcolati su dati della stessa
riga oppure fra un valore di una colonna ed il corrispondente totale
- ATTENZIONE: sia i totali che le percentuali sono il risultato di formule
Excel che vengono inserite nel foglio che viene esportato
- C'è inoltre la possibilità di inserire due ulteriori righe a fondo estrazione di commento.
Personalizzazioni
Eventuali personalizzazioni sul tracciato, formato e stili sono possibili
agendo direttamente sui file di template che sono forniti come "pilota" alle estrazioni.
Inoltre
Per lavorare con i fogli Excel 2007 non è necessario possedere Office
2007. Il nuovo formato xlsx è accessibile anche agli utenti di
Office 2000/XP/2003 a condizione che installino il, gratuito,
Microsoft Office Compatibility Package.
|