每当我打电话时,我都会遇到一个非常令人沮丧的问题
来自RefreshAll()
的{{1}}当我在excel中打开工作簿时它不刷新数据我必须手动点击excel中的全部刷新按钮...我甚至尝试通过vba调用刷新全部仍然不刷新数据...我总是提示:
“数据透视表报表已保存,没有基础数据。请使用 刷新数据命令以更新报告。“
尽管我已经调用了“全部刷新命令”。
Microsoft.Interop.Excel
并且在vba中尝试在调用refresh之前添加以下内容:
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();
}
}
任何想法??
答案 0 :(得分:0)
您可以在数据透视表上使用此功能:
YourPivotTable.PivotCache().RefreshOnFileOpen = true;
YourPivotTable.SaveData = true;