如何在Excel的Json.Document函数中引用工作表单元格作为数据源地址
完整解决方案
你需要先在Power Query中读取对应单元格的内容,再填入Web.Contents()的参数位置,具体可以按两种方式实现:
- 方式一(更推荐,不容易出错):先给存储URL的单元格设置命名
- 选中你存URL的单元格,点击Excel顶部公式栏左侧的名称框,输入自定义名称比如
JSON_SOURCE_URL,按回车确认 - 把原来的代码修改为:
Json.Document(Web.Contents(Excel.CurrentWorkbook(){[Name="JSON_SOURCE_URL"]}[Content])) - 选中你存URL的单元格,点击Excel顶部公式栏左侧的名称框,输入自定义名称比如
- 方式二:直接指定工作表和单元格位置(示例为Sheet1的A1单元格)
直接把代码修改为:Json.Document(Web.Contents(Excel.Workbook(File.Contents(Excel.CurrentWorkbook().FullName)){[Item="Sheet1",Kind="Sheet"]}[Data]{0}[Column1]))注意:代码中
{0}是行索引(从0开始计数,0对应第一行),[Column1]是列名(默认第一列叫Column1),如果你的URL不在A1单元格,需要对应修改这两个参数。
常见问题处理
如果修改后刷新出现权限报错,按以下步骤处理:
- 打开Power Query的【数据源设置】,将你请求的URL域名的权限设置为允许访问
- 进入工作簿的Power Query【隐私设置】,将当前工作簿的隐私级别调整为「公共」,避免跨数据源访问的权限拦截
内容的提问来源于stack exchange,提问作者ashbyp
相关产品推荐
相关产品推荐

