如何编写执行预定义查询以将数据加载到工作表中的办公脚本?

Posted

技术标签:

【中文标题】如何编写执行预定义查询以将数据加载到工作表中的办公脚本?【英文标题】:How to write an office script that executes a predefined query to load data into a sheet? 【发布时间】:2020-07-03 12:16:12 【问题描述】:

我有一个 Excel 工作簿,其中我选择了“获取数据”选项以从 OData 源导入。使用public odata feed 进行测试。这定义了一个可以通过 Power Query 编辑器编辑/查看的 excel 查询。

我是办公室脚本的新手。我想编写一个办公脚本,将查询中的数据加载到指定的工作表中。您能否通过示例代码指导我如何引用工作簿中定义的查询并将其数据加载到工作表/范围中?

另外,如何配置此脚本以在文件打开事件时执行?

谢谢。

【问题讨论】:

【参考方案1】:

编辑:

Office 脚本尚不支持刷新 Power Query。

~~原创~~

如果带有预配置查询的 Excel 文件位于 OneDrive 或 SharePoint 网站上,您可以尝试此操作以查看它是否有效。下面的脚本刷新所有数据连接。

function main(workbook: ExcelScript.Workbook) 
    workbook.refreshAllDataConnections()

一般来说,Excel 网页版尚不支持 Power Query 功能,例如添加、修改查询。因此,尚无法使用 Office 脚本记录与 Power Queries 相关的操作。它在 Office 脚本的功能积压中。 对于刷新操作,上面的脚本应该提取您需要的数据。如果它不起作用,请告诉我们。

【讨论】:

在线共享点上手动刷新连接会出错。我会尝试看看脚本是否有效。 我试过了,但它不起作用。想知道它是如何为您工作的吗?我有与您共享的完全相同的代码。我也没有在日志中给出任何问题。我假设它必须失败,因为在线 excel 上的手动刷新也会失败并出现错误 - ***.com/questions/62916391/…。是否需要一些共享点配置才能使其正常工作? 您在 2020 年说“一般而言,Excel 网页版尚不支持 Power Query 功能,例如添加、修改查询。” - 这种情况有没有改变?我正在寻找一种从 Office JS 插件创建电源查询的方法,但 Excel.Query 对象在我在 docs.microsoft.com/en-us/javascript/api/excel/… 找到的文档中仍然显示为只读

以上是关于如何编写执行预定义查询以将数据加载到工作表中的办公脚本?的主要内容,如果未能解决你的问题,请参考以下文章

根据 id 列的条目数查询以将表中的数据聚合到另一个表中

编写此查询以将小时添加到日期的最简洁方法

访问 - 查询以将受骗者移动到一个表中,将非受骗者移动到另一个表中

如何配置 webpack 以将自定义字体加载到故事书中?

如何编写查询以将两个帐户及其活动日志合并为一个? [关闭]

如何在 sql 中创建查询以将句子切成单词并将它们按频率添加到新表中