I have a very complex Java application which renders spreadsheet tables and summary documents in a window.
These outputs are non standard in the sense that for instance the spreadsheet table isn’t really a spreadsheet indeed not every row is an instance of an entity and every column an attribute. Some rows might for instance be titles to sub tables.
Now the user wants to print these screens so we generally offer to export these screens to word processor or spreadsheet documents so that he can customize font, number of columns, width of columns etc etc.
The problem with that is that the management is not happy with this solution because although flexible it forces the user to customize the document for every single print and has to restart from the beginning each time.
We had therefore to put some editing features in our program and if the user wants something more (for instance backgroudn color of a row) he can always export what he has so far and add the wanted extra features to the document using his word processor or spreadsheet processor.
Thsi solution works but doesn’t please me because the more time passes, the more our very complex program has to deal with editing like features at a point where in a future it will be as complex as a standard word or excel processor.
Isn’t there any solution to keep our program separate from editing features but somehow to let the choices be remembered when the user wants to export the data and not let him redo all again?
This solution should be portable enough to work with OpenOffice, Libre Office and Microsoft Word at least…
Thank you
5
We have exactly this issue.
Our solution was to engage with the customer, discuss the options, they want HUGE flexibility, but little work.
Build reports. We use Microsoft SQL Reporting Server (which the Express edition is free for commercial use but limited, need standard licence for busy/production sites)
From ‘the screen’ you want to print from, you ‘open’ the report by passing I the correct parameters.
For example, if you were on an ‘order’ screen, you would pass the ‘order id’.
From SSRS, you can view/print etc. and export to Word/Excel/PDF.
The reports are simple to create if you know SQL. Otherwise a bit difficult. So provide the ‘base’ report/template, then they can change/add to it with ease, a bit like a really old edition of word!
Pros:
- Really flexible
- Can make reports look really nice: https://stackoverflow.com/questions/1246428/examples-of-great-looking-ssrs-pdf-reports
- Can do email schedules etc.
- Word/Excel/PDF export
- lots more
Cons:
- There is a learning curve to using SSRS Report Builder. Lots of
videos on you tube. - You have to maintain/setup a ‘server’ to run reports on, it is
possible to run reports locally only, but you’re in JAVA so I won’t
go there. - not a simple to edit as a word document
- when building a report, you need to connect to THE database directly, or have a local copy of it.
1