views:

21

answers:

1

I'm looking for comments, alternative solutions and recommendations.

Background: We currently have a CRUD app built on Websphere using the struts framework. We generate excel documents using a standalone C# application that is tied together to the web application using an ActiveX control. We pass XML that contains elements for each document. Under each document we have placeholders that contain a name and a value. The document generation application takes the name (either a cell reference or a named range) and a copy of the template from a file server. It then adds the data to all of the specified locations in the document and saves the document to the users "My Documents" folder. It then attempts to upload the documents to Documentum.

Current Problem: One of the templates has grown to very large sizes. For the most part this is because of the amount of data that needs to be displayed. We breakdown the information into groupings. Each of these groupings needs to be able to display information for up to 20 pieces. Some of these tabs also need to display up to 100 sub elements for the pieces. Due to the current nature of the home built document generation framework, it's not possible to dynamically generate the different sections with a variable number of elements. This has recently started to cause problems with the maintenance of the template. If we need to make formatting changes, it needs to be replicated to not only every tab, but possibly for every instance within each tab.

I started to look at jXLS and it's templating abilities, but since it's java based it will be a hassle to integrate it with the c# application. The other alternatives would be to build jXLS like capabilities into our generation framework, integrate a third party library into the framework, or do the document generation on the Application server. I'd prefer to avoid reinventing the wheel, and would like to re use a library from somewhere.

I'd also like to not impact the existing work flow as much as possible. So the prefered order of solutions right now looks something like this.

1) use an Existing Library for .NET
2) Call the jXLS library from the DocumentGeneration framework.
3) Build in the templating capabilities to the Generation Framework
4) Use jXLS on the application server (Due to the way we have the process upload to Documentum)

What recommendations do you have for this?

A: 

I am not sure how much this will help you, but I have used NPOI in the past for generating XLS documents and it is quite easy to work with. NPOI is a .NET port of the Java POI, POI is used by jXLS internally.

I am not sure if it's functionality will suite your requirements, or at least be a starting point.

Chris Taylor