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

Excel 2013 Power Query中Web.Contents引用链接单元格的方法求助

分步指导:在Power Query中引用单元格动态链接获取CoinMarketCap加密货币历史数据

嘿,我完全懂你现在的困扰——刚接触Power Query,想把Excel里用CONCATENATE生成的动态链接(自动把当日日期设为结束日期)用到Web.Contents里,却找不到现成的步骤对吧?别慌,我带你一步步搞定这个操作,其实比你想的简单!

第一步:确认你的动态链接单元格设置正确

  • 先确保你已经在Excel单元格(建议给它命名成CoinMarketCap_EOS_URL,这样后续引用更稳定)里生成了有效的链接。比如公式可以写成:
    =CONCATENATE("https://coinmarketcap.com/currencies/eos/historical-data/?start=20200101&end=",TEXT(TODAY(),"YYYYMMDD"))
    
    复制这个单元格里的链接到浏览器,确认能正常打开EOS的历史数据页面,并且结束日期是当天的日期。

第二步:在Power Query中引用这个动态链接

  1. 打开你的Excel文件,点击顶部菜单栏的「数据」选项卡,选择「从其他来源」→「从空查询」,打开Power Query编辑器。
  2. 点击编辑器顶部的「高级编辑器」,把默认的代码替换成下面的内容(根据你的实际单元格名称/位置修改):
    let
        // 引用已命名的单元格链接,如果没命名,就用Sheet名+单元格地址
        DynamicURL = Excel.CurrentWorkbook(){[Name="CoinMarketCap_EOS_URL"]}[Content]{0}[Column1]
        // 如果没命名单元格,替换成:
        // DynamicURL = Excel.CurrentWorkbook(){[Name="Sheet1"]}[Range].A1
    in
        DynamicURL
    
    点击「完成」后,编辑器里会显示单元格里的动态链接,这说明引用成功了。

第三步:用Web.Contents加载并解析网页数据

现在我们要把这个链接传给Web.Contents,然后解析CoinMarketCap的历史数据表格:

  1. 再次打开「高级编辑器」,修改代码如下:
    let
        // 获取动态链接
        DynamicURL = Excel.CurrentWorkbook(){[Name="CoinMarketCap_EOS_URL"]}[Content]{0}[Column1],
        // 加载网页内容
        WebSource = Web.Contents(DynamicURL),
        // 解析HTML表格——这里的选择器匹配CoinMarketCap历史数据的表格结构
        ParsedTable = Html.Table(WebSource, {
            {"Date", "td:nth-child(1)"},
            {"Open", "td:nth-child(2)"},
            {"High", "td:nth-child(3)"},
            {"Low", "td:nth-child(4)"},
            {"Close", "td:nth-child(5)"},
            {"Volume", "td:nth-child(6)"},
            {"Market Cap", "td:nth-child(7)"}
        }),
        // 转换数据类型,让日期、数值更规范
        SetDataTypes = Table.TransformColumnTypes(ParsedTable, {
            {"Date", type date},
            {"Open", Currency.Type},
            {"High", Currency.Type},
            {"Low", Currency.Type},
            {"Close", Currency.Type},
            {"Volume", Currency.Type},
            {"Market Cap", Currency.Type}
        })
    in
        SetDataTypes
    
  2. 点击「完成」后,编辑器里会显示解析好的EOS历史数据表格,检查一下日期、数值是不是都正确。

第四步:设置自动刷新,实现每日更新

  1. 点击Power Query编辑器顶部的「关闭并上载」,把数据加载到你的Excel工作表里。
  2. 回到Excel,点击「数据」选项卡,找到「全部刷新」旁边的下拉箭头,选择「连接属性」。
  3. 在弹出的窗口里,勾选「打开文件时刷新数据」,或者设置定时刷新(比如每天特定时间刷新),这样你的数据就能每天自动更新啦!

常见问题小提示

  • 如果遇到Web.Contents权限报错:点击Excel的「文件」→「选项和设置」→「查询选项」→「隐私」,选择「忽略隐私级别设置」(这个对你自己的文件是安全的)。
  • 如果链接加载失败:先检查单元格里的链接是否有效,复制到浏览器能不能打开;另外CoinMarketCap偶尔会有反爬限制,频繁刷新可能会被拦截,稍等一会儿再试就好。

这样一步步操作下来,你就能轻松实现每日自动获取EOS的历史数据了!如果中间有任何步骤卡壳,随时说具体哪里出问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:01:15