poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 45778] Cloning autofilters leads to HUGE files
Date Thu, 23 Oct 2008 19:29:47 GMT

Josh Micich <josh@gildedtree.com> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #1 from Josh Micich <josh@gildedtree.com>  2008-10-23 12:29:45 PST ---
fixed in svn r707450

Junit added.

ObjRecord was not reading sub-record ftLbsData properly.  ftLbsData does not
encode its length in the second ushort field.  This field often has a value
like 0x1FFEE.  Due to another bug in RecordInputStream that allows buffer
read-overruns, the ftLbsData was being interpreted as being nearly 8KB instead
of 20 bytes.  

I re-ran your test (cloning 50 sheets from a 22KB input workbook).
Here are the resulting file sizes:
before fix: 13,101KB
after fix:     588KB

Your test spreadsheet had 30 (autofilter) combo-boxes, which get cloned 50
times.  Assuming 8KB extra per combo-box, this would account for roughly 12MB
extra allocation.  I didn't attempt the same test (manually) with Excel, but
the remaining difference from the 580KB that you got could be explained by
POI's expansion of MULRK records.  Preserving MULRK, MULBLANK and SHARREDFMLA
records is on the to-do list but currently not a high priority.

Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org

View raw message