Monday, April 23, 2007
« Is it time to go back to BootCamp? | Main | Visualizing Social Networks with Silverl... »
This week we have a story to add the ability to extract some of the data within our system into Excel format.  Upon initially hearing the requirement I thought of Visual Studio Tools for Office (VSTO), but after digging into the documentation for a bit, it doesn't seem that it was meant for our scenario.  VSTO seems to be ideal for Office Add-ins but quite lacking in its support for server based scenarios.

We did a bit of research and found a couple commercial options such as Software Artisans OfficeWriter and Aspose.Cells. Additionally, this evening Aaron emailed me about Carlos Aguiar's ExcelXmlWriter project that provides a free utility for generating Excel files as well as a nice generator

I'd certainly be interested in hearing about any other components that anyone has used for generating Excel in a server environment and/or any experiences with the products mentioned above.

Tuesday, April 24, 2007 10:44:10 AM (Eastern Daylight Time, UTC-04:00)
Can you get away with only supporting Excel 2007? If so, its files are just XML, right? There's also a server-side Excel "engine" from Microsoft for Excel 2007, as part of MS Office SharePoint Server.

Not much help if you have to support Excel 03 and earlier though, sorry.
John Rusk
Tuesday, April 24, 2007 11:44:49 AM (Eastern Daylight Time, UTC-04:00)
You may want to look at SpreadsheetGear for higher end capabilities or the Component One excel component for basic functionality.
Alan Schrank
Tuesday, April 24, 2007 12:36:43 PM (Eastern Daylight Time, UTC-04:00)
You must be reading my mind. I too was looking for a better way to export to Excel. I don't have any fancy requirements so I settled on using a tab delimited file. This looks really interesting though.
Bob Banks
Tuesday, April 24, 2007 1:26:17 PM (Eastern Daylight Time, UTC-04:00)
Unfortunately we have to support excel versions earlier than 2007 :(
Friday, April 27, 2007 1:22:50 AM (Eastern Daylight Time, UTC-04:00)
Despite the fact of that documentation says it is not recommeded, we DO use Excel automation through COM interface with late binding to generate Excel files on the server side =)

Surprisingly it works very well. It has some issues with ReleaseComObject and concurrency, so we had to serialize the access to that feature.

If you don't wanna go the route of ASP.NET x COM, maybe you can turn this feature asynchronous and have a windows service doing the job.
Daniel
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):