【发布时间】:2014-06-05 21:48:47
【问题描述】:
我有一个 Excel 应用程序,它使用 power query 从 SharePoint 获取合并列表。我已将属性设置为在打开 excel 应用程序时刷新,以刷新数据集。当我手动打开 excel 时,它会刷新并获得更新的数据。但是,我在我的 winform 应用程序中使用这个 excel 来获取数据。 所以为了刷新数据,我试图从代码中打开和关闭excel。
但是数据没有得到刷新,而且它搞砸了电源查询插件。当我再次手动打开 Excel 表时,运行代码后出现错误“查询未运行,或无法打开数据库表。”
而且功能区上不再显示 Power Query。 下面是我用来打开和关闭 Excel 应用程序的代码:
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
string workbookPath = @"C:\Test\Test.xlsx";
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath,
0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",
true, false, 0, true, false, false);
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
string currentSheet = "Sheet1";
Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
Excel.Range excelCell = (Excel.Range)excelWorksheet.get_Range("A1", "A2");
excelWorkbook.Close(true, "Test.xlxs", null);
这是刷新数据的最佳方式吗?
【问题讨论】:
-
不确定如何以编程方式执行此操作,但可以使用网关@blogs.msdn.com/b/powerbi/archive/2014/08/19/… 自动刷新工作簿。
标签: c# excel sharepoint