Excel直接拉股票数据:WEBSERVICE函数搞定
摘要: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 方式二:文本函数提取(通用)
用 MID、SEARCH、LEFT、RIGHT 等文本函数从 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
- 打开 Excel → 数据选项卡 → 获取数据 → 自其他源 → 自 Web
- 在弹出的对话框中输入 URL:
https://api.zhituapi.com/hs/pool/ztgc/2026-08-11?token=你的智兔token - 点击「确定」→ Power Query 编辑器打开
4.2 解析 JSON
Power Query 会自动识别 JSON 格式:
- 看到
List(数组)→ 点击To Table转为表格 - 看到
Record(对象)→ 点击展开图标,选择要保留的列 - 展开
Record后,每行就是一只股票
4.3 选择需要的列
涨停股池返回的每条记录有以下字段,你可以选择只保留需要的:
| 字段 | 含义 | 是否保留 |
|---|---|---|
dm |
代码 | ✅ |
mc |
名称 | ✅ |
zf |
涨幅(%) | ✅ |
p |
最新价 | ✅ |
cje |
成交额 | 可选 |
lbc |
连板数 | ✅ |
fbt |
首封时间 | 可选 |
hy |
行业 | ✅ |
4.4 刷新数据
设置完成后,点「关闭并加载」,数据就进入 Excel 表格了。以后每天只需右键 → 刷新,就能拿到当天的最新涨停股池。
参数化日期:把 URL 中的日期替换为 Excel 单元格引用,刷新时自动取最新日期。做法:Power Query → 高级编辑器 → 把日期改为参数。
5. 实战:每日涨停股池看板
用 Power Query 做一个每天自动刷新的涨停看板:
步骤
- 在 A1 单元格输入日期,如
2026-08-11 - Power Query 参数化:把日期参数绑定到 A1 单元格
- 查询 URL:
https://api.zhituapi.com/hs/pool/ztgc/ & [日期参数] & ?token=你的token - 加载到表格,设置以下列:
- 代码
dm - 名称
mc - 涨幅
zf(条件格式:红色标注) - 最新价
p - 连板数
lbc(降序排列) - 行业
hy - 条件格式:涨幅 > 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. 小结
你在这一篇里学会了:
- WEBSERVICE 函数:Excel 单元格直接发 HTTP 请求拉 JSON
- 文本提取:用 SEARCH + MID 从 JSON 中提取字段
- Power Query:正确的 JSON 解析方式——自动展开、可刷新、参数化
- 涨停看板:每天右键刷新就能看到最新涨停股池
- WPS 兼容性:WEBSERVICE 同样可用,Power Query 需另寻方案
一个 URL 就是一个数据源——连 Excel 都能直接用。 这就是零依赖的终极含义。
下一篇预告
系列下一篇进入 C 系列:《龙虎榜数据接口实战:每日详情与个股上榜次数》——用 /ht/lhb/mrxq 接口拿到机构席位动向,这是短线研究者的刚需数据。
免费领证:www.zhituapi.com → 请求证书 → 证书获取 →免费版(¥0 / 期限不限 / 200 次/日)
本文数据来自智兔数服 API 实测(2026-08-11),涨停股池 58 只均为真实数据。