Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: 1.1.1
-
Fix Version/s: None
-
Component/s: Export, HTML Generation
-
Labels:None
-
Application server:Tomcat 5.5.27
Description
I recently ran into some problems with the Excel ASCII export and had to switch to the POI (binary) export which resolved my problems.
Another issued popped up: When declaring maxWords or maxColumns on a column they are handled correctly in HTML. Using an export function would imply that this feature is ignored since this feature is only necessary in HTML. Doing an Excel export results in the same bevahior as in HTML which is incorrect.
I checked the code and noticed that HTML and Excel share the same base.
HTML: HTMLTableWriter => ... => TableWriterTemplate
Excel: HssfTableWriter => ... => TableWriterTemplate
This means that they share the implemented methods in the abstract class and share too much code, Excel output resebles the HTML one.
The codes needs to be more separated!
This bug is related to my other issue:DISPL-592
Another issued popped up: When declaring maxWords or maxColumns on a column they are handled correctly in HTML. Using an export function would imply that this feature is ignored since this feature is only necessary in HTML. Doing an Excel export results in the same bevahior as in HTML which is incorrect.
I checked the code and noticed that HTML and Excel share the same base.
HTML: HTMLTableWriter => ... => TableWriterTemplate
Excel: HssfTableWriter => ... => TableWriterTemplate
This means that they share the implemented methods in the abstract class and share too much code, Excel output resebles the HTML one.
The codes needs to be more separated!
This bug is related to my other issue:
TableWriterTemplate adds the value using: writeColumnValue(struct.decoratedValue, struct.column);
As decoratedValue is a String, the "instanceof" checks done in HssfTableWriter .writeColumnValue() are always false, and the Cell value is always a HSSFRichTextString.
This is a major issue as no mathematical function work on the cells.