Presentazione
Questo strumento consente di esportare dati da applicazioni ASP.NET o .NET
in fogli Excel, singoli o multipli, sia formato XML per
Excel 2003 sia in formato XLSX per Excel 2007/2010. E' sufficiente aggiungere
un pulsante e qualche riga di codice. Non è invece necessario installare OFFICE.
Clicca qui per visitare il sito www.gridviewtoexcel.com, scaricare
e provare gratis lo strumento
Cliccando sui seguenti link potrete vedere esempi di fogli Excel ottenuti con questo
strumento. Commenti evidenzieranno alcune caratteristiche principali dello strumento.
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, i tempi di caricamento in Excel erano eccessivi
- la rappresentazione dei dati, sopratutto date e numeri, era assolutamente insoddisfacente.Le
date venivano esportate come stringhe, nell'esportare i numeri, separatori decimali
e delle migliaia perdevano spesso di significato e rendevano impraticabile all'utente
l'analisi dei dati.
Per ovviare a questi inconvenienti ho sviluppato questo strumento, il cui obbiettivo
era inizialmente quello di estrarre dati da una gridview in formato Excel, successivamente
si è ampliato tanto chè ora consente l'export dai seguenti controlli ASP.NET e .NET
- sqldatasource
- sqldatareader
- oledbdatasource
- objectdatasource
- dataview
- gridview
- datagridview
a worbook Excel sia a foglio elettronico singolo che multiplo.
Tutto ciò è possibile senza dover installare nè Office,
nè Visual Studio Tools for Office (VSTO) sulla macchina in questione
ma utilizzando invece la
DocumentFormat.OpenXml.dll di Microsoft che è inclusa nel package di installazione.
Come funziona
I passi necessari per realizzare un'export verso Excel sono i seguenti:
- installare il prodotto
- referenziare la dll dall'applicazione su cui si sta lavorando
- quindi nella pagina di codice:
- importare il namespace GEETmultisheet30
- istanziare la classe GEETStandard spceificando se si desidera un output di formato
xml o xlsx
- utilzzare uno dei seguenti metodi per generare la definizione
di un foglio Excel
- CreateAndAddExcelSheetFromDataGridview
- CreateAndAddExcelSheetFromObjectDataSource
- CreateAndAddExcelSheetFromSqlDataSource
- CreateAndAddExcelSheetFromDataView
- CreateAndAddExcelSheetFromDataTable
- CreateAndAddExcelSheetFromSqlDataReader
- CreateAndAddExcelSheetFromOleDbDataReader
- ripetere il passo precedente tante volte quanti sono i fogli Excel che si desidera
generare all'interno del workbook
- eseguire il metodo opportuno della classe GEETStandard per ottenere l'output
desisderato. Sono disponibili i seguenti metodi:
- GEETOutputResponse - per ottenere una Response di tipo Web
- Dim ms As New MemoryStream - per ottenere un MemoryStream
- GEETOutputToFile - per salvare il workbook Excel in un file
Quanto sopra si riduce, nel caso del Visual Basic a 3 righe di codice (4 per il
c#).
Le definizioni di fogli Excel ottenute con i metodi precedenti possono poi essere
personalizzare per l'impostazione del Titolo, delle intestazioni di colonna, dei
colori, dei formati, ecc.
Tracciato dei fogli Excel esportati
Entrambe le estrazioni in Excel 2003 (xml) ed Excel 2007/2010 hanno le seguenti
caratteristiche:
- La prima riga è impostabile a piacimento. Viene di solito usata
per visualizzare il contenuto dell'estrazione
- La seconda riga contiene le intestazioni delle colonne
- 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
- è possibile cambiare l'ordinamento delle colonne, eliminarne o aggiungere colonne
calcolate specificando la formula come foste in Excel
- Si può creare automaticamente una riga di totali che è possibile visualizzare
- C'è inoltre la possibilità di inserire ulteriori righe a fondo estrazione
per inserirvi note esplicative o link opportuni.
Funziona anche senza Gridview
Da quanto sopra doveva essere già chiaro! 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 allo strumento.
Nel caso che lo sia, il tool deriva i titoli delle colonne e la lista dei field
da esportare dalla Gridview stessa
Prerequisiti
E' installabile su Windows XP, Windows Vista, Windows 7 32/64 bit, Windows 2003
Server e Windows 2008 Server.
Richiede la .Net Frameqork 3.5
Clica qi per richiedere ulteriori informazioni