From 50bab16ecede7454892a9f086cfa59fd83506fac Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Mon, 6 Dec 2021 10:10:16 +0000 Subject: [PATCH] add xlookup test git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1895613 13f79535-47bb-0310-9956-ffa450edef68 --- ...nction.java => TestXSSFXLookupFunction.java} | 16 +++++++++++++++- test-data/spreadsheet/xlookup.xlsx | Bin 0 -> 12031 bytes 2 files changed, 15 insertions(+), 1 deletion(-) rename poi-ooxml/src/test/java/org/apache/poi/xssf/{TestXLookupFunction.java => TestXSSFXLookupFunction.java} (81%) create mode 100644 test-data/spreadsheet/xlookup.xlsx diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXLookupFunction.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFXLookupFunction.java similarity index 81% rename from poi-ooxml/src/test/java/org/apache/poi/xssf/TestXLookupFunction.java rename to poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFXLookupFunction.java index 16122cfffc..dbe7c956fc 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXLookupFunction.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/TestXSSFXLookupFunction.java @@ -31,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; /** * Testcase for function XLOOKUP() */ -public class TestXLookupFunction { +public class TestXSSFXLookupFunction { //https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929 @@ -52,6 +52,20 @@ public class TestXLookupFunction { } } + @Test + void testXLookupFile() throws Exception { + try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("xlookup.xlsx")) { + XSSFSheet sheet = workbook.getSheetAt(0); + XSSFFormulaEvaluator fe = new XSSFFormulaEvaluator(workbook); + XSSFRow row1 = sheet.getRow(1); + assertEquals("Dianne Pugh", row1.getCell(2).getStringCellValue()); + assertEquals("Finance", row1.getCell(3).getStringCellValue()); + fe.evaluateAll(); + row1 = sheet.getRow(1); + assertEquals("Dianne Pugh", row1.getCell(2).getStringCellValue()); + assertEquals("Finance", row1.getCell(3).getStringCellValue()); + } + } private XSSFWorkbook initWorkbook2() { XSSFWorkbook wb = new XSSFWorkbook(); diff --git a/test-data/spreadsheet/xlookup.xlsx b/test-data/spreadsheet/xlookup.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..58b6ae9bc8a4ef28174cc26cec9dac51bb59a0d6 GIT binary patch literal 12031 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 literal 0 HcmV?d00001