0
我有一個很無奈的問題在那裏,每當我打電話 RefreshAll()
從Microsoft.Interop.Excel
它不會刷新數據,當我在Excel中打開工作簿和我必須手動點擊全部刷新在excel內的按鈕...我甚至嘗試通過vba調用刷新,它仍然不刷新數據...我總是提示:我總是提示:C#:Microsoft.Interop.Excel刷新所有工作不
「數據透視表報告保存沒有底層數據。 刷新數據命令以更新報告。「
儘管我已經稱之爲「刷新所有命令」。
public void applyMacro(string excelFile)
{
var excelApplication = new Microsoft.Office.Interop.Excel.Application { Visible = false };
var targetExcelFile = excelApplication.Workbooks.Open(excelFile);
try
{
string[] macros = addMacros(ref targetExcelFile);
for (int i = 0; i < 2; i++)
excelApplication.Run(macros[i]);
targetExcelFile.RefreshAll();
targetExcelFile.Save();
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.ReadKey();
}
finally
{
excelApplication.Quit();
}
}
,並在VBA嘗試添加調用刷新前以下內容:
For Each ws In Worksheets
For Each qt In ws.QueryTables
qt.Refresh BackGroundQuery:=False
next qt
Next ws
任何想法?