2009-07-29 52 views
4

我在使用ExcelPackage时遇到了很大的问题,因为有时公式没有更新(即使我删除了这个值)。如何自动刷新excel公式?

我试过使用ExcelInterop将xlsx保存为xls,认为这可以解决问题,但它没有。

我发现解决它的方法是按CTRL + ALT + F9。用户不会喜欢每次都这样做,所以我想以编程方式进行。你知道任何有效的方法来确保所有的xlsx公式被更新吗?

回答

9

呼叫Application.CalculateFull从VBA宏(或通过COM对象)

7

我发现这之前,为我工作:

for (int iWorksheet = 1; iWorksheet <= workbook.Worksheets.Count; iWorksheet++) 
       { 
        Worksheet ws = ((Worksheet)workbook.Worksheets[iWorksheet]); 
        ws.UsedRange.Formula = ws.UsedRange.Formula; 
        ws.Calculate(); 
       } 
+0

感谢,我认为这也将工作为好;) – 2009-07-29 13:29:07

1

可以打开,计算和保存XLS和没有Excel的xlsx工作簿,并且从.NET应用程序中工作起来更容易,因为它完全是.NET代码(用C#编写)。

你可以看到一些例子here并下载免费试用here如果你想尝试一下。

声明:我自己的SpreadsheetGear LLC

1

您可以随时设置Application.Calculation = xlAutomatic。这样你就不需要依靠自己的代码来执行计算,只有在需要时才会调用它。

请注意,此设置会影响整个Excel实例。所以如果你的客户不希望其他工作簿像这样工作 - 他们应该在一个单独的Excel实例中打开它。