Excel 365 Power Query连接NSE数据源报错及时间异常咨询
解决Excel 365 Web查询(LivSTK)仅在12:00后可刷新的问题
Hey there, let's break down how to fix this issue step by step—no coding expertise needed, just follow these simple clicks:
核心问题推测
NSE的beta接口大概率有访问限制:它可能会拒绝非浏览器发起的请求,或者仅在特定时间段开放无限制访问。我们可以通过让Excel模拟浏览器的请求方式来绕过这个限制。
具体操作步骤
打开Power Query编辑器
- 打开你的Excel文件,切换到「数据」选项卡
- 在「查询和连接」面板里找到你的
LivSTK查询,右键点击它,选择「编辑」
修改请求头,模拟浏览器访问
- 在编辑器的公式栏(或高级编辑器)里找到开头的
Source行,原代码是:Source = Json.Document(Web.Contents("https://beta.nseindia.com/api/equity-stockIndices?index=SECURITIES%20IN%20F%26O")), - 直接替换成下面的代码(复制粘贴即可):
Source = Json.Document(Web.Contents("https://beta.nseindia.com/api/equity-stockIndices?index=SECURITIES%20IN%20F%26O", [ Headers = [ #"User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36", #"Accept-Encoding" = "gzip, deflate, br" ] ])), - 这一步的作用是让Excel假装成浏览器去请求数据,避免被NSE服务器拒绝访问。
- 在编辑器的公式栏(或高级编辑器)里找到开头的
保存并测试刷新
- 点击编辑器左上角的「关闭并上载」,回到Excel界面
- 右键点击
LivSTK查询,选择「刷新」,检查是否能正常获取数据
额外辅助建议
- 检查系统时间和时区:确保电脑的时间、时区设置准确,部分服务器会根据时间做访问限制,准确设置能避免不必要的验证失败。
- 控制刷新频率:不要短时间内频繁刷新查询,否则可能被服务器判定为恶意访问而限制,建议设置15分钟以上的刷新间隔。
- 留意接口稳定性:你使用的是NSE的beta测试接口,本身可能存在不稳定或临时调整的情况,如果后续再出现问题,可以重复上述步骤,或关注NSE官方是否有正式公开API的更新。
内容的提问来源于stack exchange,提问作者Madan Mohan Verma




