Sicuramente è un problema che molti avranno avuto: la generazione di file Excel da applicazioni Windows o ASP.NET.
Il motivo è molto semplice: Excel, come Word, ormai sono usati dappertutto e spesso gli utenti finali hanno una certa familiarità e una certa dimestichezza con questi strumenti. E' facile quindi che chiedano esportazioni di vario tipo su Excel per elaborazioni successive.
Con la versione 2007 di Office e con il formato OpenXML è tutto molto più facile. Ma se volessimo supportare le versioni precedenti? Se volessimo avere qualcosa che funzioni sia su Office XP, sia su Office 2003 sia su Office 2007?
L'automazione non è sicuramente la scelta giusta e si porta dietro tantissimi problemi, il primo fra i quali è il fatto di richiedere la presenza di Excel sulle macchine (e sui server) in cui girano le applicazioni.
La soluzione è quella di usare il formato Xml Workbook introdotto sin dalla versione XP di Office. In questo modo è possibile creare documenti Excel in modo semplice e pulito, anche da pagine ASP.NET. Chiaramente esistono delle limitazioni, ma in molti casi questo formato è sufficiente a soddisfare le necessità delle nostre applicazioni.
Per facilitare la generazione di questo tipo di file è possibile costruirsi una propria libreria o, più semplicemente, utilizzare quella di Carlos Aguilar che è free e utilizzabile anche in progetti commerciali.
Attualmente ho fatto solo dei semplici test e ho verificato che i file generati si riescono ad aprire ed elaborare sia con Excel 2003 che con Excel 2007.
Se qualcuno è a conoscenza di altre librerie di questo tipo si faccia avanti!