2010-08-12 135 views
1

我使用Excel PIA的做一些写作和阅读/从Excel电子表格,我可能只是被偏执,但我有以下问题:Excel中重新计算

至于我可以告诉Excel中重新计算公式在工作表上每写一次,但...

  1. 是这种情况? - 也就是说,可以做一系列的写读写读取,而不是读取正确的重新计算(例如,如果其复杂的公式和花费太长的时间,我可能会读取一个尚未重新计算的值?)

  2. 有无论如何去做这样的事情:

    BeginUpdate();写很多值EndUpdate();重新计算(); readlotsofvalues?

我还没有看到任何躲闪的结果,但我想应该能够知道“肯定”;)

回答

2

一些VBA职能,将工作是here,使用这些你可以使用Interop中的SpreadsheetClass。 对于C#,您有Calculate() function

+0

谢谢lance计算函数是我失踪的一个。 我仍然有兴趣知道,如果excel提供任何保证书,那么当您在写入电子表格之后,只要写入表格,就可以保证电子表格是一致的,同样,如果在我写入大量单元格时禁用重新计算。 – GreyCloud 2010-08-16 09:08:29

+0

@Grey,在Excel VBA中,您将Application.Calculation设置为xlCalculationManual来关闭计算,xlCalculationAutomatic将其重新打开。虽然在C#中你必须使计算工作,但我不太确定如果电子表格是开放的,这实际上是如何工作的,我不知道它的一致性或是否存在竞争条件。 – 2010-08-16 15:16:10

+0

谢谢兰斯,我会考虑关闭在Excel中的自动计算 – GreyCloud 2010-08-20 13:09:42