Poi公式没有得到正确的评估

时间:2014-10-18 07:24:08

标签: java excel excel-formula apache-poi

我有这样的公式:

=ISNUMBER(SEARCH("*AM*",A1)) in column B.

用A列填充A列后

cell.setCellValue("Smita AM D");

我打电话:

workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();            

未正确评估公式。如果我转到B列并单击回车,则会正确评估公式。我已尝试将CELL_TYPE_STRING设置为A列,但结果没有差异。

1 个答案:

答案 0 :(得分:0)

您的问题不在于Apache POI,实际上是公式!具体来说,使用通配符,不应该存在

您需要将公式更改为:

=ISNUMBER(SEARCH("AM",A1))

Microsoft Excel function docs for Search中所述,搜索功能需要一个字符串来查找,而不是通配符。 Apache POI忠实地实现了这个

r1632842中,我向Apache POI添加了单元测试,确认POI正确评估函数ISNUMBER(SEARCH("AM",A1))。您需要做的就是给POI正确的配方!