什么是#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 。 它为我工作得很好!