Bug 57469 - Unable to view excel cell compiled in jdk1.6.0_45
Summary: Unable to view excel cell compiled in jdk1.6.0_45
Alias: None
Product: POI
Classification: Unclassified
Component: SXSSF (show other bugs)
Version: 3.11-FINAL
Hardware: PC All
: P2 critical (vote)
Target Milestone: ---
Assignee: POI Developers List
Depends on: 54904
  Show dependency tree
Reported: 2015-01-20 06:31 UTC by viknesh
Modified: 2015-07-24 12:22 UTC (History)
1 user (show)

File which not able to view (4.35 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2015-01-21 07:20 UTC, viknesh
File which able to view (8.80 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2015-01-21 07:21 UTC, viknesh
Source code (2.82 KB, text/plain)
2015-01-21 07:22 UTC, viknesh

Note You need to log in before you can comment on or make changes to this bug.
Description viknesh 2015-01-20 06:31:16 UTC
I used SXSSF to generate the report via compiler jdk1.6.0_45. The excel file is generated with all the value available. But when i try to browse thru the record it some how not visible . I need to manually specify the cell number in the Excel .
For example A1 in order to see the record. The same program when i switch to 
jdk1.6.0_37, i'm able to view the generated report and the contains.
Comment 1 Nick Burch 2015-01-20 09:58:39 UTC
Are you certain you're using the same version of Apache POI on both machines? No older versions on the classpath to confuse things?

Assuming so, you'll need to unzip the .xlsx file generated on both JVMs, and diff the xml contents to see where things differ.
Comment 2 viknesh 2015-01-21 02:21:09 UTC
Yup i'm using the same version of apache poi jar to run both the application. For the JVM i have checked from the command prompt(java -version) to ensure i'm using the right version. By the way it was able to write but i'm not able to view the cell it was missing when i try to view from Microsoft Excel but if i use online Excel view i'm able to see the hidden cells. Do you require the excel which is having the issue?
Comment 3 Andreas Beeker 2015-01-21 05:53:26 UTC
> Do you require the excel which is having the issue?

Please attach both files (jdk1.6.0_37/45) to this bug entry.
We can do the unzipping/comparing for you ...
Comment 4 viknesh 2015-01-21 07:20:17 UTC
Created attachment 32383 [details]
File which not able to view

Hi Andreas,

  Attached file is the one having problem to view the cell .
Comment 5 viknesh 2015-01-21 07:21:22 UTC
Created attachment 32384 [details]
File which able to view

Hi Andreas,
    This is the file generated using JDK which able to view the records
Comment 6 viknesh 2015-01-21 07:22:14 UTC
Created attachment 32385 [details]
Source code

Attached is the source code used to generated both the reports.
Comment 7 Andreas Beeker 2015-01-21 11:46:52 UTC
As the col width in sheet1.xml are all equal 0.0, this seems to be connected to the fontmanager.dll problem in 1.6.0_45 - see #54904 for more details.
I assume you are running the code under Windows, right?
Comment 8 viknesh 2015-01-21 14:40:09 UTC
Yup i'm using windows, so this is basically issue on the font manager in the JRE causing the issue. Will try to use other font and see whether solve the issue.
Not sure if this is the right platform how do i filter the date field which is in string to recognize as a date in excel?
Comment 9 Dominik Stadler 2015-03-22 23:19:15 UTC
Please re-try this with a current version of Java 7 or 8, I think there were some fixes done by Oracle in Java itself which might fix this.

Inside POI we only could detect this and report at least some warning, i.e. that the reported font-sizing leads to 0-width columns whereas they are not actually hidden or set to 0 width...
Comment 10 Dominik Stadler 2015-07-24 12:22:45 UTC
We lately added a method SheetUtil.canComputeColumnWidht() which tries to provide a way to check if autosize will work. However it seems there are still cases where it returns "true" when in fact autosize will fail. 

It seems to not catch all cases as sometimes it depends on the actual string, i.e. "0" has a useful width, whereas "w" has no widht!

I don't think we can do much more in POI currently except to desupport Java 6 as Java >= 7 seems to have far less problems with this.