Ing.Ettore Cefalà
v.Conca del Naviglio,5
20123 - Milano MI
p.IVA: 07902170153
info@e-cefala.it

Uno strumento per esportare dati da ASP.NET/.NET ad Excel

05/02/2012


Home

Offerta

The Gridview to Excel Export Tool

Word Docx Demo

Web Site Management

Capitolato

Consoli




MCAD Certificate 


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