From 3cea90e7c47f193411bf5eda05bbfe3678b6c525 Mon Sep 17 00:00:00 2001 From: Greg Woolsey Date: Wed, 26 Jul 2017 22:19:58 +0000 Subject: 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 --- test-data/spreadsheet/dataValidationTableRange.xlsx | Bin 0 -> 116554 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test-data/spreadsheet/dataValidationTableRange.xlsx (limited to 'test-data') diff --git a/test-data/spreadsheet/dataValidationTableRange.xlsx b/test-data/spreadsheet/dataValidationTableRange.xlsx new file mode 100644 index 0000000000..76e24344e2 Binary files /dev/null and b/test-data/spreadsheet/dataValidationTableRange.xlsx differ -- cgit v1.2.3