公式不会自动计算

我有一个很大的公式,它们之间有一个依赖关系层次结构。 它以具有date值的单元格开始。 然后,单元格x:y(和其他)根据此date具有公式。 那么单元格w:z(和其他单元格)的公式取决于单元格x:y。 等等…

这个具有date值的主单元格使用apache poi来填充。

现在我的问题:当我打开生成的Excel文件,date是在那里,但没有公式计算。 他们都有错误“ A value used in the formula is of the wrong data type ”。 看来,当公式试图评估它自己的date还没有。

解决scheme:1)如果我单击单元格,然后按ENTER键,公式是正确的评估。 但是,我必须为所有的细胞做这个。 2)我点击date单元格,复制它,然后粘贴在同一个地方,并在表单中的所有公式评估! 3)我可以迭代我的应用程序中的所有单元格,使用FormulaEvaluator类中的evaluateFormulaCell方法评估每个单元格。 但是我有很多公式,这个performance太糟糕了。

有人有这个解决scheme吗?

谢谢!!

你的date值不会被excel公式识别为一个date,你可以做的是另一个单元格dat将首先使用Apache poi填充的单元格的datevalue DATEVALUE()

然后将你的第一级公式指向那个单元格,而不是使用Apache poi填充的单元格

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

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

它为我工作。

为了解决这个问题,我改变了我的模板中的所有公式,使用下面的sintax代替常规公式sintax(= SUM(A:D)):$ [SUM(A:D)]

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