lunedì 20 ottobre 2014

SCRIVERE UN FILE EXCEL - C# E VB.NET


Come si fa a generare un file excel tramite il framework .Net? La risposta per i "vecchi programmatori VB6" potrebbe essere scontata, ma con le nuove tecnologie non possiamo tralasciare un aspetto fondamentale.



Storia

Erano i lontani e ruggenti anni 90 dell'informatica quando Microsoft sforna le prime rudimentali versioni dell'ambiente Microsoft Office, la suite per la produttività di ufficio che per anni è stata la scelta obbligata per quasi tutte le aziende. Con l'avvento dei software OpenSource si ha avuto una espansione parallela di software come StarOffice, OpenOffice, LibreOffice e chi più ne ha più ne metta, vedendo diminuire in maniera crescente la diffusione del software Microsoft negli uffici di tutto il mondo. Attualmente non è possibile stimare con certezza a quanto ammonta la diffusione di software ClosedSource contro il software OpenSource nell'ambito della produttività di ufficio, tuttavia la recente crisi economica e le strategie attuate da Microsoft per contenere i costi del prodotto (Office 365) ci portano a pensare che la battaglia sia tutt'altro che chiusa.

Programmazione

Come detto nella premessa, la maggior parte dei programmatori VB6 hanno la risposta pronta (anche il codice pronto), fruttando le librerie COM esposte da Microsoft è possibile generare file excel e word con poche semplici righe di codice, tuttavia tutto questo approccio crolla letteralmente quando viene trasposto in ambiente .Net, nello specifico nelle solizioni web. Infatti la tecnologia COM della Microsoft non era stata assolutamente pensata per un ambiente sincronizzato e parallelo, non è "thread-safe", quindi non adatta ad un progetto web. Questa affermazione viene supportata dalla Microsoft stessa in questo articolo.

NPOI

Dal mondo OpenSource ci viene incontro la libreria NPOI trasposizione .Net della famigerata libreria Apache POI in ambiente Java. La regola di base è molto semplice:
  1. crea il workbook
  2. crea il foglio
  3. crea righe
  4. crea celle per ogni righe
  5. scrivi su file
Il tutto si traduce molto facilmente su codice grazie a queste semplici istruzioni:




Le soluzioni adottabili sono praticamente infinite, vi invito a leggere la documentazione tecnica per conoscere maggiori dettagli riguardo questa interessante libreria.

No-Word-Atch philosophy

Prima di concludere vi esorto a dare un'occhiata alla filosofia GNU riguardo gli allegati Microsoft Word a questo indirizzo. La mia è una necessità lavorativa, non posso imporre uno standard OpenSource ad una azienda multinazionale multimiliardaria, non sono così potente (ancora) tuttavia posso almeno diffondere questo approccio ai lettori di Programmazione Applicata. Cercate di limitare l'utilizzo dei documenti proprietari, se ci pensiamo bene un formato aperto permetterebbe la scrittura di più librerie e un codice molto più stabile e sicuro, cosa che nel nostro campo fa sempre bene.

Conclusione

Conoscete altre soluzioni che permettono di generare file Excel? Siete interessati ad un articolo simile in ambiente Java? lasciate un commento a questo articolo o attraverso la pagina Facebook ufficiale.

fonti

Nessun commento:

Posta un commento