/[Apache-SVN]
ViewVC logotype

Revision 1899533


Jump to revision: Previous Next
Author: centic
Date: Sun Apr 3 13:25:21 2022 UTC (2 years, 2 months ago)
Changed paths: 3
Log Message:
Speed up execution of formulas with whole-column area reference

The previous change via r1894675 did not fully solve this as
it only took place when more than one sheet were used.

There were still some cases where evaluating formulas needed
to iterate across a huge number of non-existant rows, e.g.
TestVLookup, which took more than 1 minute locally.

However doing the lowering of row-numbers always would trigger
test-regressions as some Excel-functionality depends on actions
being possible on rows larger than current "last row" in the sheet.

Thus changed this to a slightly different approach which only adjusts
last-row when it is at or above the workbook-limit of rows

Execution of TestVLookup is now at 1-2 seconds!

Also added a test-case to verify details of the implementation now.

Changed paths

Path Details
Directorypoi/trunk/poi/src/main/java/org/apache/poi/ss/formula/SheetRangeEvaluator.java modified , text changed
Directorypoi/trunk/poi/src/main/java/org/apache/poi/ss/formula/SheetRefEvaluator.java modified , text changed
Directorypoi/trunk/poi/src/test/java/org/apache/poi/ss/formula/SheetRangeEvaluatorTest.java added

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26