You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何扩展Excel PowerQuery中#shared变量下的函数集合?

扩展Excel PowerQuery中#shared变量的可行方案

核心限制说明

Excel PowerQuery的#shared全局环境是只读的,无法像Power BI Desktop那样通过自定义连接器直接注入函数——Power BI的连接器加载逻辑是其桌面端独有的,Excel并不支持这套机制。

可行的全局复用方案

1. 利用PowerQuery自定义函数目录

Excel的PowerQuery会自动加载特定目录下的自定义函数到#shared:

  • 找到目录:%AppData%\Microsoft\Power Query\Custom Functions
  • 将自定义函数保存为.pq文件,文件名需遵循[命名空间].[函数名].pq格式,文件内容示例:
    Custom.MultiplyByTwo = (input as number) as number => input * 2;
    
  • 重启Excel后,打开PowerQuery编辑器,就能在#shared里看到注册好的函数,所有查询都可直接调用。

2. 开发Office加载项(Office Add-ins)

通过Office JS框架开发PowerQuery相关加载项,可将自定义函数注册到Excel的PowerQuery全局环境:

  • 借助Office JS的PowerQuery API,在加载项启动时完成函数注册
  • 安装加载项后,函数会持久出现在#shared中,支持跨文档复用

关于Expression.Evaluate的补充

你当前用Expression.Evaluate加载外部.pq文件的方式,仅能在当前查询会话中生效,关闭Excel后函数就会消失,无法实现全局复用——上面两种方案才是实现#shared持久化扩展的有效路径。

内容的提问来源于stack exchange,提问作者andr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:42:05