views:

694

answers:

7

I think every business person would like to have excel UI, however they are forced into using web applications that sometimes look like really bad excel.

Are there any frameworks that help build excel ui without VB? I dont mean framework like POI or JExcel that allows you to generate excel reports.

+1  A: 

I am not sure what you mean by UI here, but if it is for the data presentation (as not data input) you could e.g use SQL Server Reporting Services and export the results to excel format. Alternatively you can parse your data into excel xml format and allow the user to open it as excel file (that is a bit painful though if your data is more complex than a simple table)

EDIT

I went through a pain of presenting and processing data with the use of excel when creating a web system that was replacing old paper work based one - that was a requirement for a transition time. It is a real pain, all the data validation, ensuring that what is submitted back has not been modified structurewise etc.

My conclusion would be:

  • use the web system for inputing data
  • if required provide the excel format for reporting
  • if really, really required you could implement parsing excel into the web system for inputing data, but then add some human validation as it is humanly impossible to predict all the possible errors one can create in excel
kristof
just noticed your java tag in your question, somehow I was assuming .net because of excel. I assume POI or JExcel that you mention provide similar functionality to reporting services
kristof
+3  A: 

I've seen many applications built using Excel. All of them were clumsy, error prone, and next to impossible to keep up-to-date.

If the end user needs an application to work like Excel for some grid calculations, then give them a tool to do so, or let them use Excel for that portion.

However using Excel / VBA exclusively to develop big Enterprise worthy applications is heading down the wrong road. It might work well for a while, but it won't be long before issues expose the weak points.

Since you ended talking about reports... yes, by all means have your application export to CSV, HTML, PDF, Excel etc. That way the user that wants to use Excel to generate pretty pie charts, and reformat/search/scan/crop the data can do so with the tool they feel comfortable with.

scunliffe
+1  A: 

You can look into embedding Excel as an ActiveX control into your application. It will allow you to manipulate the control from your language of choice.

This may point you in the right direction: http://j-integra.intrinsyc.com/support/kb/Article.aspx?id=30421

weiyin
+1  A: 

A combination of the two can work quite well... Excel is not great for inputting data, this is where an app (desktop or web) works better, but excel is great for dynamic reports and analyzing data.

The best approach for dynamic reports I've seen is to write add-ins that add new functions to excel (e.g. to pull in real time data). in the java space you could try XLLoop - this allows you to expose POJO functions in excel (full disclosure: I work on this project).

Peter Smith
+1  A: 

Obba is an Excel Add-In which allows to instantiate Java objects and work with them directly in Excel (without VBA or any other glue code).

The nice part is that it is fully transparent what the Excel Sheet (UI) does to your Java classes.

Christian Fries
+1  A: 

For java,this one is pretty good.

http://www.jxcell.net

liya
A: 

Hi There, we were planning on using Excel as a front end to a db2 database as a 'quick and dirty' solution to provide business users the ability to view and enter data. This has quickly blown up to a requirement of 40 users with multiple user roles. Using an end user tool for something like this really makes me nervous but I'm having trouble quantifying for them why it is such a bad idea. Could anybody provide some comments that would help me out?

Thanks!!!

JS_John
first problem is that you need VB - its not an attractive language(you wont be able to find good programmers that use that),so code would be a mess and it will be hard to maintain it(simple change will take a long time). I was tempted to build something like that, but VB changed my mind(even with all those frameworks at some point you will have to use VB). plus like scunliffe said excel apps are not stable.
01