【问题标题】:Excel RecalculationExcel 重新计算
【发布时间】:2010-08-12 14:30:32
【问题描述】:

我正在使用 excel pia 对 excel 电子表格进行一些写入和读取,我可能只是偏执,但我有以下问题:

据我所知,Excel 在每次写入时都会重新计算工作表中的公式,但是...

  1. 是这样吗? - 即是否可以进行一系列的写读写读而不是读取正确的重新计算(例如,如果它是一个复杂的公式并且花费的时间太长,我最终会读取一个尚未重新计算的值吗?)

  2. 有没有办法做类似的事情:

    开始更新();写很多值 EndUpdate();重新计算(); readlotsofvalues ?

我没有看到任何可疑的结果,但我希望能够“确定”知道 ;)

【问题讨论】:

    标签: c# .net excel interop


    【解决方案1】:

    可以使用的一些 VBA 函数是 here,要使用这些函数,您可以使用 Interop 中的 SpreadsheetClass。 对于 C#,您有 Calculate() function

    【讨论】:

    • 感谢 lance 计算功能是我所缺少的。我仍然很想知道,当您在写入电子表格后立即读取电子表格时,excel 是否提供任何保证,并且类似地,如果在我写入大量单元格时禁用重新计算。
    • @Grey,在 Excel VBA 中,您将 Application.Calculation 设置为 xlCalculationManual 以关闭计算,将 xlCalculationAutomatic 设置为重新打开。虽然在 C# 中您必须进行计算,但如果电子表格打开,我不太确定这实际上是如何工作的,而且我不知道它的一致性或是否存在竞争条件。
    • 谢谢 Lance,我会考虑关闭 excel 中的自动计算
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多