diff options
author | Greg Woolsey <gwoolsey@apache.org> | 2017-07-26 22:19:58 +0000 |
---|---|---|
committer | Greg Woolsey <gwoolsey@apache.org> | 2017-07-26 22:19:58 +0000 |
commit | 3cea90e7c47f193411bf5eda05bbfe3678b6c525 (patch) | |
tree | 1fe93183ef83cbd2f4e2bd13963511adaddb87e7 /test-data | |
parent | 2dda87a8ce6fb264c16ac66f5ca5b477611fc5a7 (diff) | |
download | poi-3cea90e7c47f193411bf5eda05bbfe3678b6c525.tar.gz poi-3cea90e7c47f193411bf5eda05bbfe3678b6c525.zip |
Fix data validation value list evaluation
One of my users found that my initial implementation was lacking a core distinction - most evaluations expect a single result, and "unwrap" 2/3D ValueEval results to a single value based on the input row/column.
However, data validation list formulas explicitly are expected to return a 2D ValueEval. This worked when the formula was simple and evaluated to a single Ptg, but only returned one value when the formula was more complex, or referenced a named range defined as a complex formula.
This change teaches WorkbookEvaluator about the distinction, by way of a new attribute for FormulaType.
There is room for discussion over how it is implemented, but this works for me.
Includes the failing workbook we had as a new unit test.
While I was in FormulaType I went ahead and removed the deprecated, unused, and redundant code marked for removal in 3.17.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1803121 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test-data')
-rw-r--r-- | test-data/spreadsheet/dataValidationTableRange.xlsx | bin | 0 -> 116554 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/test-data/spreadsheet/dataValidationTableRange.xlsx b/test-data/spreadsheet/dataValidationTableRange.xlsx Binary files differnew file mode 100644 index 0000000000..76e24344e2 --- /dev/null +++ b/test-data/spreadsheet/dataValidationTableRange.xlsx |