什么是#ADDIN? Apache POI引起的错误?
我正在创build一个包含SUMIFS公式单元格块的电子表格。 它创build罚款,POI不抱怨cell.setCellFormula()并不抱怨评估者.evaluateFormulaCell()。
SUMIFS单元格是这样的:
SUMIFS(raw!$C$2:$C$2625, raw!$D$2:$D$2625, C$1, raw!$B$2:$B$2625, $A2)
其中“原始”是原始数据来自的第二张纸的名称。
当我在LibreOffice Calc中打开电子表格时,单元格中有正确的公式,但都显示#ADDIN? 而不是价值。 F9什么都不做。 Ctrl + Shift + F9什么都不做。
但是,如果我触摸公式(即添加一个空格并删除它)然后按回车,单元格神奇地具有正确的值。 所以LibreOffice显然接受这个公式。
我如何解决这个错误? 还是必须使用其他一些XLS写作库?
find答案 – SUMIFS()显然不被HSSFWorkbook支持,但是它被 XSSFWorkbook支持。 改变我的代码中的一行来创build一个XSSF工作簿,而发射的XLSX文件在LibreOffice中工作得很好。
尝试使用_xlfn.SUMIFS
而不是SUMIFS
。 它为我工作得很好!