Created attachment 38440 [details] Example of array formula where POI returns shared string index instead of value on read Check the attached file there are 2 columns. Column 1 has two strings cells: "Bob" and "Alice". Column 2 has a formula of array type and refer to column 1. This means that in column two we should read same values. But with getStringCellValue fn we read "Bob" and "1" instead of "Bob" and "Alice". IF we look at shared strings, there are 2 values: <si> <t>Alice</t> </si> <si> <t>Bob</t> </si> And if we look at row 2: <row r="2"> <c r="A2" s="1" t="s"> <v>1</v> </c> <c r="B2" s="2" t="s"> <v>1</v> </c> </row> Both cells here refer to same shared string "Alice", what is correct. But getStringCellValue reads them as "Alice" and "1". Seems because the cell is under formula, its shared string index is not resolved to the value. Row 1 with formula: <row r="1"> <c r="A1" s="1" t="s"> <v>0</v> </c> <c r="B1" s="2" t="str"> <f t="array" ref="B1:B2">A1:A2</f> <v>Alice</v> </c> </row>
I posted a mistake in initial comment. What I wrote : we read a second row as "Alice" and "1". What should be: we read a second row as "Bob" and "1".
Created attachment 38441 [details] PATCH Fix and test for 66365 [PATCH] This fixes this issue without breaking any tests on trunk. There's a test using the already attached xlsx-file The patch was created from a git clone - please let me know if I need to change this.
Thanks - added with r1905571
also added r1905572 (XSSFExcelExtractor)
and test (r1905574)
Wow that's impressive response-time \o/ Thanks