Can I edit an excel file from a browser using POI? Something like google docs maybe? But in java? I've used POI for display only, way way back, but I dont remember it being editable from the browser. Any suggestions of the best approach to this? The excel will display a list/table with data, and each row will either be reported as having 'good' or 'bad' data, and the user can then go to a bad row to correct it and edit this and submit this..
Can I edit an excel file from a browser using POI? No, you can try like google does with their AJAX apps for excel. But I think such an implementation isn't affordable.
You can use java dialogs and let poi create and process excel sheets. But you should suggest a few things if you want to do so:
From my experience:
POI (Poor Obfuscation Implementation) is a bad and unstable framework. If you want to develop business solid software you have to deal with proprietary software for propreitary data formats like .doc/.xsl/.docx ...
Think about licencing issues! You have to ensure that every user has a Office licence if you work with automized word versions on the server side (except Open Office UNO..)
The best way? Don't use POI.
There's no reason why you couldn't load data from an MS Office doc in the browser, then push changes back to the file stored on the server (wouldn't be surprised if GDocs works this way). This can be done with a few servlets.
Your real challenge is going to be writing code to display documents in a useful form.
POI works fine for manipulating Excel data. I've found it's appropriate for most Excel-based use cases and not had any issues with it. It's quite explicit in what it claims to support and what it doesn't.
The difficulty you face is in the presentation/display. As you're in looking at Java-based solutions, take a look at using GWT for a browser-based rich interface. You'll be looking at some sort of grid-based interface in the browser (perhaps the simple GWT Grid), and the combination of GWT/POI should work well.
See the Advanced GWT demo for an example of an editable grid.