Bug 58219 - Refactor XSSFSheet to allow callers to avoid DOM parse of big sheets
Summary: Refactor XSSFSheet to allow callers to avoid DOM parse of big sheets
Status: RESOLVED FIXED
Alias: None
Product: POI
Classification: Unclassified
Component: XSSF (show other bugs)
Version: unspecified
Hardware: PC Linux
: P2 enhancement (vote)
Target Milestone: ---
Assignee: POI Developers List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-06 15:53 UTC by David North
Modified: 2015-08-14 11:26 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David North 2015-08-06 15:53:24 UTC

    
Comment 1 David North 2015-08-06 15:55:02 UTC
Our application implements a hybrid approach to XSSF parsing, where we exclude certain large sheets from DOM parsing and run them through a streaming parse later.

I don't think our local changes make sense to merge into POI itself, but if XSSFSheet were refactored slightly, it would allow us to do our changes by subclassing, avoiding the need to modify POI itself and run with a patched version.
Comment 2 David North 2015-08-06 15:58:00 UTC
Made my proposed refactoring in r1694531. I'll leave this open for a few days in case any other devs want to object/discuss.
Comment 3 Nick Burch 2015-08-06 16:12:33 UTC
Any chance you could put a stripped-down version of your subclass into examples, to show users how they might take that approach?
Comment 4 David North 2015-08-06 16:37:27 UTC
Added example in r1694536
Comment 5 David North 2015-08-06 16:38:36 UTC
Further tidy up in r1694537
Comment 6 David North 2015-08-12 08:54:57 UTC
Thanks for the review, Nick. Calling this fixed now I've added the example.
Comment 7 Nick Burch 2015-08-12 09:03:53 UTC
Any chance you could put a mention about this somewhere in the spreadsheet documentation on the site?
Comment 8 David North 2015-08-12 09:06:20 UTC
Sorry, yes, I was leaving out of the docs until we'd discussed. Re-opening to track documentation.
Comment 9 David North 2015-08-14 11:26:48 UTC
... and documented on the website, svn r1695862.