2009-07-29 141 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實例中打開它。