有没有办法在不打开每个工作簿的情况下刷新 Excel Power Queries?

Is there a way to refresh Excel Power Queries without opening each workbook?

提问人:Ben Bennett 提问时间:3/18/2023 更新时间:3/18/2023 访问量:971

问:

我有几十个 Excel 工作簿需要每天更新,以便我们的员工拥有日常工作的最新数据。这些工作簿使我们的员工不必花一整天的时间在我们的ERP系统中点击试图查找数据。这些工作簿整合了日常所需的数据。

每个用户工作簿中都有一个 Power Query 查询,用于拉取新数据。

但是,我还没有找到一种以编程方式刷新每个工作簿的方法,这意味着不必打开每个工作簿。

Power Query 查询的源是 SharePoint 网站上的 Excel 工作簿。

手动刷新查询需要 1-55 分钟,具体取决于工作簿,因为它们使用不同的数据源。

而且,不,最终用户无法自行更新查询,因为他们 1.将无权访问基础数据,并且 2.没有耐心等待查询刷新。

理想情况下,每个工作簿每晚都会刷新其Power Query查询,以便当最终用户在早上打开工作簿时,工作簿已包含刷新的数据。

我试过VBA。结果充其量是不可靠的,因为我无法让脚本等到查询完全刷新后再保存/关闭。

我尝试过 Power Automate。结果充其量是不可靠的,因为我无法确保并等到查询完全刷新后再保存/关闭。

我尝试过 Microsoft Graph API。但是,我似乎找不到将刷新Power Query的刷新命令。

我正在考虑的其他选项包括:
Excel Javascript API
Office Online Server
Office 数据连接文件
Excel 主互操作程序集
Excel Web Access Web 部件

注意:我目前对这些其他选项知之甚少,所以请原谅任何对于此用例来说是荒谬的。

C# Excel VBA PowerQuery

评论

0赞 Spectral Instance 3/18/2023
从 VBA 的角度来看,可以将保存文件的代码放在 AfterRefresh 事件过程中,尽管您首先必须创建一个类模块才能访问它。
0赞 Davide Bacci 3/18/2023
老实说,我会重新考虑你的整个解决方案。为什么不在 PowerBI 中为最终用途生成一些东西,并将其放在刷新计划中。用户可以将 Excel 连接到数据模型,或使用 PowerBi 报表进行分析。
0赞 Ben Bennett 3/20/2023
@DavidBacci,我完全同意。但是,最终用户并不精通 Excel,而且大多数人从未听说过 Power BI。因此,我不能要求他们使用 Excel 连接到数据模型(或类似的东西)。
0赞 CHill60 3/21/2023
若要让 VBA “等待”到报表刷新完成,请确保所有查询都禁用了“后台刷新”
1赞 Dolunaykiz 3/21/2023
@DavidBacci,我同意你的看法。一旦事情开始变得如此复杂,就应该重新考虑这个过程。

答: 暂无答案