Excel还能访问网页数据?这3个函数让你玩转API和结构化数据
你还以为 Excel 只能做表格汇总?
其实 Excel 自带的几个隐藏函数,能做到:
- 实时拉取天气、汇率、新闻等Web API 数据
- 动态拼接带参数的 URL 请求
- 解析 XML 格式数据,提取出标签内容!
今天就带你掌握 Excel 中最具“编程味道”的 3 个函数——WEBSERVICE、ENCODEURL、FILTERXML,让你解锁表格里的“轻量爬虫能力”!
1. WEBSERVICE 函数 —— 实时获取网页或API返回内容
作用:从指定 URL 中提取文本(支持 HTTP 请求)
语法:
=WEBSERVICE("https://api.exchangerate-api.com/v4/latest/USD")
返回值:通常是 JSON 或 XML 字符串(需进一步解析)
应用举例:
- 实时获取汇率、天气、币价
- 获取公司 API 返回的接口内容
- 与本地 Web 服务对接传入参数
注意:Excel 桌面端支持良好,但 Excel Online 或某些版本中该函数不可用或受限。
2. ENCODEURL 函数 —— 将中文、特殊字符转为URL编码格式
作用:避免在拼接 URL 时出错(如空格、中文)
语法:
=ENCODEURL("苹果手机") → 返回 %E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA
典型用途:
- 拼接 GET 请求参数,如:
="https://api.xxx.com/search?q=" & ENCODEURL(A1) - 构建动态 API 地址或抓取链接
3. FILTERXML 函数 —— 解析 XML 内容,提取标签字段
作用:从 XML 字符串中提取指定节点的数据(支持 XPath)
语法:
=FILTERXML(xml_text, xpath_path)
应用举例:
假设 XML 如下:
<weather>
<city>Beijing</city>
<temp>24</temp>
</weather>
公式:=FILTERXML(A1, "//temp") → 返回 24
通常搭配 WEBSERVICE 使用,例如:
=FILTERXML(
WEBSERVICE("https://example.com/weather.xml"),
"//city"
)
推荐组合方式
目标 | 函数组合 |
动态访问网页API | ENCODEURL + WEBSERVICE |
处理XML格式返回 | WEBSERVICE + FILTERXML |
多语言搜索/关键词请求拼接 | ="...search?q=" & ENCODEURL(A1) |
本地服务数据提取 | WEBSERVICE("http://localhost/api?data=" & A1) |
注意事项:
- WEBSERVICE 不能处理 JSON(需通过 Power Query 或脚本)
- FILTERXML 只能处理有效的 XML 结构,返回多个结果时需用数组公式
- 这些函数对系统安全有要求,某些公司电脑或 Excel Online 版本不支持!
总结:你还在复制粘贴网页数据?这些函数让你“表格即网络接口”
应用场景:
- 数据爬取(轻量)
- 自动化报告刷新(如天气、币值)
- 内部数据系统对接
- 学习 XPath 与 API 调用结构
你以前有尝试过 WEBSERVICE 吗?
有没有哪一次你希望 Excel 直接拉网页数据?
欢迎留言交流~觉得有用请点赞 + 收藏,也可以转发给做数据集成、自动化办公的朋友!