← 返回博客列表

Excel直接拉股票数据:WEBSERVICE函数搞定

2026年08月13日 08:16 · 智兔数服 · 零依赖量化数据实战

摘要:Excel/WPS 直接拉股票数据:一个 WEBSERVICE 函数搞定 智兔数服零依赖系列第 3 篇 | 一个 URL,就是你的数据源 接口: /hs/list/all 、 /hs/pool/ztgc/{date} (免费 200 次/日

智兔数服零依赖系列第 3 篇 | 一个 URL,就是你的数据源 接口:/hs/list/all/hs/pool/ztgc/{date}(免费 200 次/日) 上一篇:A02 Python requests 取数


1. 连 Python 都不用装

前两篇我们用浏览器地址栏和 Python 拿到了 A 股数据。但很多人日常用的不是 Python,是 Excel。

好消息是:智兔 API 是纯 GET 接口,返回 JSON 文本——而 Excel 有 WEBSERVICE 函数可以直接发 HTTP 请求。这意味着在 Excel 单元格里输入一个函数,就能把股票数据拉进来

不需要 VBA,不需要插件,不需要 Python。WPS 同样支持这个函数。

前置条件:Excel 2013+ 或 WPS 最新版。你需要一张智兔免费证书(www.zhituapi.com 领取,¥0 / 期限不限)。


2. WEBSERVICE 基础用法

2.1 拉取原始 JSON

在任意单元格输入:

=WEBSERVICE("https://api.zhituapi.com/hs/list/all?token=你的智兔token")

回车后,这个单元格会显示返回的 JSON 文本(可能很长,因为 A 股有 5209 只股票)。

提示:如果返回 #VALUE!,检查 URL 是否完整、token 是否正确、网络是否通畅。

2.2 WEBSERVICE 函数语法

WEBSERVICE(url)
参数 说明
url 完整的 HTTP/HTTPS 地址(含 token 参数)

返回值:URL 对应的文本内容。对于智兔 API,返回的是 JSON 字符串。


3. 提取 JSON 中的值

WEBSERVICE 返回的是一整段 JSON 文本,不能直接当表格用。有两种提取方式:

3.1 方式一:FILTERXML(适合简单 XML 转换)

JSON 不是 XML,但可以通过文本函数提取字段。比如你想从涨停股池中提取第一只股票的名称:

=FILTERXML(WEBSERVICE("https://api.zhituapi.com/hs/pool/ztgc/2026-08-11?token=你的token"),"//mc")

但 FILTERXML 要求是标准 XML 格式,JSON 不能直接用。这时更实用的做法是用文本函数。

3.2 方式二:文本函数提取(通用)

MIDSEARCHLEFTRIGHT 等文本函数从 JSON 中提取字段。比如提取第一只股票的名称:

=LET(
    json, WEBSERVICE("https://api.zhituapi.com/hs/pool/ztgc/2026-08-11?token=你的token"),
    pos1, SEARCH("""mc""", json) + 6,
    pos2, SEARCH("""", json, pos1),
    MID(json, pos1, pos2 - pos1)
)

Excel 365 / WPS 支持 LET 函数,可以定义中间变量。旧版 Excel 需要拆成多个单元格。

这个公式会在涨停股池的 JSON 中找到第一个 "mc" 字段,提取其后的文本。2026-08-11 的返回值是 北京文化


4. Power Query:正确做法

文本函数提取 JSON 太脆弱了——字段顺序变了就全错。Power Query 才是 Excel 拉取 JSON 数据的正确做法。

4.1 创建 Power Query

  1. 打开 Excel → 数据选项卡 → 获取数据 → 自其他源 → 自 Web
  2. 在弹出的对话框中输入 URL: https://api.zhituapi.com/hs/pool/ztgc/2026-08-11?token=你的智兔token
  3. 点击「确定」→ Power Query 编辑器打开

4.2 解析 JSON

Power Query 会自动识别 JSON 格式:

  1. 看到 List(数组)→ 点击 To Table 转为表格
  2. 看到 Record(对象)→ 点击展开图标,选择要保留的列
  3. 展开 Record 后,每行就是一只股票

4.3 选择需要的列

涨停股池返回的每条记录有以下字段,你可以选择只保留需要的:

字段 含义 是否保留
dm 代码
mc 名称
zf 涨幅(%)
p 最新价
cje 成交额 可选
lbc 连板数
fbt 首封时间 可选
hy 行业

4.4 刷新数据

设置完成后,点「关闭并加载」,数据就进入 Excel 表格了。以后每天只需右键 → 刷新,就能拿到当天的最新涨停股池。

参数化日期:把 URL 中的日期替换为 Excel 单元格引用,刷新时自动取最新日期。做法:Power Query → 高级编辑器 → 把日期改为参数。


5. 实战:每日涨停股池看板

用 Power Query 做一个每天自动刷新的涨停看板:

步骤

  1. 在 A1 单元格输入日期,如 2026-08-11
  2. Power Query 参数化:把日期参数绑定到 A1 单元格
  3. 查询 URLhttps://api.zhituapi.com/hs/pool/ztgc/ & [日期参数] & ?token=你的token
  4. 加载到表格,设置以下列:
  5. 代码 dm
  6. 名称 mc
  7. 涨幅 zf(条件格式:红色标注)
  8. 最新价 p
  9. 连板数 lbc(降序排列)
  10. 行业 hy
  11. 条件格式:涨幅 > 0 → 红色字体(A 股涨红跌绿)

2026-08-11 实际数据

代码 名称 涨幅(%) 价格 连板 行业
000802 北京文化 10.00 5.17 2 影视院线
300862 蓝盾光电 19.99 27.37 2 通用设备
603758 秦安股份 9.97 12.68 3 汽车零部件
... ... ... ... ... ...

共 58 只涨停股票,按连板数排序一目了然。


6. WPS 用户注意事项

WPS 完全支持 WEBSERVICE 函数,操作步骤与 Excel 一致。但有几个细节:

Excel WPS
WEBSERVICE 2013+ 支持 最新版支持
LET 函数 365/2021+ 最新版支持
Power Query 2016+ 内置 需安装 WPS 插件
JSON 自动解析 Power Query 用文本函数

WPS 没有原生 Power Query,但可以用「智能表格」+ 文本函数实现类似效果。如果数据量大,推荐用 WPS 的「数据」→「导入数据」功能。


7. 常见问题

问题 原因 解决
#VALUE! URL 格式错误 / 网络不通 在浏览器先测试 URL 是否能打开
#BLOCKED! Excel 阻止外部链接 文件 → 选项 → 信任中心 → 外部内容 → 启用
返回 104:缺少token参数 URL 里没带 token 检查 URL 是否包含 ?token=你的token
返回 102:Licence证书不存在 token 错误 在智兔后台重新复制 token
刷新太慢 返回数据量太大 换分页接口或只拉涨停股池等小数据集
WEBSERVICE 不可用 Excel 版本太旧 升级到 2013+ 或改用 WPS

8. 小结

你在这一篇里学会了:

  1. WEBSERVICE 函数:Excel 单元格直接发 HTTP 请求拉 JSON
  2. 文本提取:用 SEARCH + MID 从 JSON 中提取字段
  3. Power Query:正确的 JSON 解析方式——自动展开、可刷新、参数化
  4. 涨停看板:每天右键刷新就能看到最新涨停股池
  5. WPS 兼容性:WEBSERVICE 同样可用,Power Query 需另寻方案

一个 URL 就是一个数据源——连 Excel 都能直接用。 这就是零依赖的终极含义。


下一篇预告

系列下一篇进入 C 系列:《龙虎榜数据接口实战:每日详情与个股上榜次数》——用 /ht/lhb/mrxq 接口拿到机构席位动向,这是短线研究者的刚需数据。


免费领证www.zhituapi.com → 请求证书 → 证书获取 →免费版(¥0 / 期限不限 / 200 次/日)

本文数据来自智兔数服 API 实测(2026-08-11),涨停股池 58 只均为真实数据。

想亲自试一下?免费获取证书