How can I expose Excel Spreadsheet functionality on the web?

I work with people that have created very complex Excel spreadsheets (mainly modeling tools). These spreadsheets have lots of VBA code, and in some cases special Excel add-ins that have been written in C.

We would like to expose those spreadsheets via the web so that rather than have customers download the Excel files and run them locally (thus losing control of them), they can run them over the internet such that the web user interface accesses the logic in the spreadsheets.

So far we’ve looked at products like TurboExcel, KDCalc, and XL2Web but these either don’t work with spreadsheets that have VBA code or they can’t handle the fact that we’ve built a pretty user interface in Excel. Right now we run some of them over Citrix but that’s pretty clunky.

I know we can re-write the spreadsheets in .NET (although we’re a J2EE shop) but these spreadsheets are so numerous and so complex, that ideally we wouldn’t have to re-write them.

I would think that Excel spreadsheets are so numerous that there would be some “simple” way of exposing the rich functionality on the internet but I’m at a loss. Any ideas? Thanks in advance.

Well I think the problem is the presentation layer. If I understand correctly, Excel uses MS foundation classes to format its presentation. Browsers, even IE, don’t understand MS foundation class presentation (much to the chagrin of Mr. Bill I am sure). So it seems IE is an integral part of MS operating system and CAN’T be removed (so says Mr. Bill), BUT one of their most popular applications, Excel, doesn’t work using IE, go figure.

Citrix is one way around this problem, I believe Citrix converts your presentation to HTML. Here’s another company that does these things, I have never used their products though.

http://go.graphon.com/bin/pdf/GGFW-datasheet-01-08-04.pdf

http://go.graphon.com/products/GO-GlobalforWindows.shtml

Thanks, if I ignore the presentation layer problem, are their any recommendations of methods to more easily convert the underlying logic, even if we need to re-write the presentation piece using web technology?