我在使用ExcelPackage時遇到了很大的問題,因爲有時公式沒有更新(即使我刪除了這個值)。如何自動刷新excel公式?
我試過使用ExcelInterop將xlsx保存爲xls,認爲這可以解決問題,但它沒有。
我發現解決它的方法是按CTRL + ALT + F9。用戶不會喜歡每次都這樣做,所以我想以編程方式進行。你知道任何有效的方法來確保所有的xlsx公式被更新嗎?
我在使用ExcelPackage時遇到了很大的問題,因爲有時公式沒有更新(即使我刪除了這個值)。如何自動刷新excel公式?
我試過使用ExcelInterop將xlsx保存爲xls,認爲這可以解決問題,但它沒有。
我發現解決它的方法是按CTRL + ALT + F9。用戶不會喜歡每次都這樣做,所以我想以編程方式進行。你知道任何有效的方法來確保所有的xlsx公式被更新嗎?
呼叫Application.CalculateFull從VBA宏(或通過COM對象)
我發現這之前,爲我工作:
for (int iWorksheet = 1; iWorksheet <= workbook.Worksheets.Count; iWorksheet++)
{
Worksheet ws = ((Worksheet)workbook.Worksheets[iWorksheet]);
ws.UsedRange.Formula = ws.UsedRange.Formula;
ws.Calculate();
}
您可以隨時設置Application.Calculation = xlAutomatic
。這樣你就不需要依靠自己的代碼來執行計算,只有在需要時纔會調用它。
請注意,此設置會影響整個Excel實例。所以如果你的客戶不希望其他工作簿像這樣工作 - 他們應該在一個單獨的Excel實例中打開它。
在C#中,使用Application.Calculate()
評估所有打開的工作簿,Workbook.Calculate()
以評估工作簿的工作簿或Worksheet.Calculate()
。
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel._application.calculate.aspx
感謝,我認爲這也將工作爲好;) – 2009-07-29 13:29:07