views:

228

answers:

5

Hi

I've inherited a large Excel spreadsheet that does some financial calculation magic using any number of simulation tables, and have been asked to write a web application as a front end. Now I could spend endless hours trying to figure out the sheet, or I could call the excel sheet from my web app. I seem to need the Office Primary Interop Assemblies, but do I also need to install office/excel on the web server? How can I handle multiple simultaneous requests to the same sheet? Is this approach even possible?

+3  A: 

Excel is a desktop Application (and a very good one) and not designed for either multiple users or deployment in a web application. You might be able to cobble something together but you are likely to have to write a lot of code to manage the design features of a desktop app which are inadequacies in a web app.

You are better off trying to understand what the Excel workbook is doing and simulating it in code with the desired multi-user features in mind which must have been beneath the request for a web app. If you have access to the current users and/or author you should be able to document the requirement and you have the Excel workbook for you to test your algorithm against once you have understood it.

Best of luck.

Simon
+1 - this would seem to be the most logical step to take, albeit not the quickest win for the business.
Russ Cam
+3  A: 

Take a look at SpreadsheetGear. Ordinarily it is used to generate new spreadsheets, but it has a calculation engine for existing spreadsheets too. And unlike Excel, it was designed for a server environment.

Spreadsheet Gear

Old Man
+4  A: 

We have implement a project where we call several Excel spreadsheets from a web app.

We use Sharepoint Excel Services to do this. It has worked very well for us.

In our case our largest spreadsheet has over 300 input parameters, 1000 formuals and 50 results. This takes about 0.5 seconds, where most of that time is moving data in and out of excel services via a web service.

The main draw back in using Sharepoint Excel Services is the cost. However, in our case the saving in development time far out weighed the cost.

Shiraz Bhaiji
Thanks I'll look into that. I think the client has Sharepoint up and running
edosoft
Note that Excel Services is not included in every version of Sharepoint. You need to check that it is included in your customer licence.
Shiraz Bhaiji
While technically a solution, the problem with this approach is that it encourages the continued use of spreadsheets as strategic business assets. They are great ad-hoc analysis tools, but their tendency to be tweaked without audit gives rise to quite severe problems of a lack of documentation and process stability. If the service provided by this workbook is important enough to wrap a process around it, then it should be considered a key business asset and treated as such. The move to the web deserves at least documentation of the full workings and detailing of the requirement doesn't it?
Simon
A: 

Not sure if this is appropriate to your task, but could you not import it into Google Spreadsheets to make it multi-user? If it is really complicated then I shouldn't think this will work, but might be worth a try.

Gav
I'd guess if it was simple enough to work in Google Spreadsheets (which is pretty brain-dead compared to Excel) then a port to a server-friendly form wouldn't have been too hard. Nice alternative, though.
Mike Woodhouse
+1  A: 

You can try SmartXLS for .net,it has a calculation engine for Excel workbook,it does not depend on Excel.

liya
This looks really promising! Did you use this product yourself?
edosoft
We had used it in a project to simulate excel calculation engine without problem.In this project,we need standard excel formula calculation and addin formula calculation,with no excel automation needed.
liya