views:

90

answers:

4

I have a Web application which will be deployed to Windows Azure and I'm looking for alternatives to generate Excel spreadsheets.

Can I use VSTO to programatically generate an Excel spreadsheet in a Web Role running on Windows Azure?... If yes, how should I deploy the application to Windows Azure? What assemblies should I include?

Thanks!

A: 

I tested this and apparently it won't work, VSTO requires Office to be installed.

Joni
A: 

VSTO does not work on Windows Azure.

SpreadsheetGear for .NET runs on Windows Azure. You can see live ASP.NET samples (which will work on Azure) here and download a free trial here.

Disclaimer: I own SpreadsheetGear LLC

Joe Erickson
+2  A: 

Joni and Joe are correct. VSTO will not run on Azure.

I believe you're looking for the Open XML SDK.

Edit: Here's one option I have considered for those times when the Open XML SDK just doesn't have the functionality I can get from accessing an Office app's object model directly. Set up a machine outside of Azure that operates just as an Azure worker role would by processing messages from an Azure Queue. Since the app on that machine could be setup to execute tasks sequentially, you should be able to get away with things that wouldn't be advisable if you were trying to execute an Office app from a web role. This machine could be in your data center, or you could use an Amazon VM so that you could install Office. If that worker role outside of Azure was creating and/or reading Excel documents, then just use Azure Blob storage to store the documents.

You will however incur additional bandwidth costs for all the data coming in and out of Azure in this scenario.

Dennis Palmer
A: 

I've been successful with generating Excel Spreadsheets in Azure using EPPlus open source project. It builds on the OpenXML SDK, but is much simpler to use.

I've been deploying the code to Worker Role instead of Web Role (as per Lokad.CQRS for Azure architecture) in order to pregenerate reports, so that the application would be more scalable. And the only required assembly was the Epplus.dll.

Rinat Abdullin