公式不会自动计算

时间:2013-03-13 13:55:26

标签: excel apache-poi jxls

我有一张包含很多公式的大表,这些公式之间有依赖关系层次结构。它以具有日期值的单元格开头。然后,单元格x:y(和其他),具有取决于该日期的公式。然后,单元格w:z(和其他)具有取决于单元格x:y的公式。等等...

使用apache poi填充具有日期值的主单元格。

现在我的问题是:当我打开生成的excel文件时,日期就在那里,但没有计算公式。它们都有错误“A value used in the formula is of the wrong data type”。似乎当公式试图评估它时,日期还没有。

解决方案: 1)如果我单击单元格,只需按ENTER键,就可以正确评估公式。但是我必须为所有细胞做到这一点。 2)我点击日期单元格,复制它,然后将它粘贴在同一个地方,并评估工作表中的所有公式! 3)我可以迭代我的应用程序中的所有单元格,使用来自FormulaEvaluator类的evaluateFormulaCell方法评估每个单元格。但是我有很多公式,而且表现很糟糕。

有人有解决方案吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您的日期值不能被excel公式识别为日期,您可以做的是让另一个单元格数据首先使用Apache poi填充单元格的日期值DATEVALUE()

然后将您的第一级公式指向该单元格,而不是使用Apache poi

填充的公式

答案 1 :(得分:1)

因为Excel不会自动计算,所以只需更改它。

Excel 2010:文件 - >选项 - >公式:查找工作簿计算,并更改为自动。

它对我有用。

答案 2 :(得分:0)

为了解决这个问题,我更改了模板中的所有公式,而不是使用常规公式sintax(= SUM(A:D))以下sintax: $ [SUM(A:d)]

http://jxls.sourceforge.net/reference/formulas.html