强烈建议WPS表格尽快支持FILTERXML 函数

喵不胖:FILTERXML函数

各位WPS产品团队、社区的小伙伴们:

大家好!

在日常使用WPS表格处理网页数据、API接口返回、XML格式数据、结构化文本时,我发现一个非常影响效率的问题:WPS表格目前还不支持 FILTERXML 函数,而这一函数在微软Excel中已是标配,也是职场人处理结构化文本、网页数据、系统对接的刚需函数

在此,我正式建议WPS表格尽快原生支持 FILTERXML 函数,并同步完善相关Web数据函数生态,真正补齐办公数据处理的关键一环。


一、先说明:FILTERXML 是什么,为什么重要?

FILTERXML 是Excel中用于从XML格式文本中,按XPath路径精准提取指定内容的函数,语法简单但能力极强:

FILTERXML(xml文本, xpath路径)

它的核心价值:

  1. 专门解析XML/HTML结构化数据

很多网页数据、OA/ERP/CRM接口、政府标准报文、第三方平台返回结果,都是XML格式。没有 FILTERXML,用户只能用 MID/LEFT/RIGHT/FIND 等文本函数硬拆,极易出错、难以维护。

  1. 配合 WEBSERVICE 实现“表格直接抓网页数据”

WEBSERVICE 获取网页/API内容 → FILTERXML 精准提取字段

不用插件、不用代码、不用VBA,普通用户就能做轻量爬虫、数据自动更新

  1. 处理多层嵌套结构,普通文本函数做不到

比如从一段结构化XML里提取:

  • 第3条新闻标题

  • 所有“价格”节点

  • 某个属性里的手机号

普通函数写一长串都不一定成功,FILTERXML 一行搞定。

  1. 行业通用、用户学习成本极低

XPath是全球通用标准,网上教程极多,用户几乎零学习成本就能用。


二、目前WPS缺少 FILTERXML 带来的真实痛点

  1. 从XML/网页导入数据极难

业务系统导出XML、接口返回XML、网页复制内容,WPS里只能肉眼找、手动复制,无法自动化。

  1. 无法实现低代码自动化办公

很多用户希望:

  • 表格自动同步天气、汇率、股价

  • 自动拉取OA/ERP数据

  • 自动解析API返回结果

没有 FILTERXML用户被迫依赖复杂宏/插件,明明一个函数能解决,现在必须写JS宏、装第三方插件,稳定性、安全性、学习门槛都大幅提高。

  1. Excel文件兼容问题

别人用Excel做好的含 FILTERXML 的模板,发到WPS里直接**#NAME?报错**,无法正常使用,跨平台协作出现断层。


三、我对WPS实现 FILTERXML 的具体建议

  1. 完整兼容Excel语法

  1. 函数名:FILTERXML

  1. 参数:xml, xpath

  1. 返回:文本/数组,支持数组溢出(最好同步支持溢出功能)

  1. 支持常用XPath语法

至少支持:

  • / 层级选取

  • // 全局搜索

  • [] 条件筛选

  • @属性 获取属性

  • [n] 取第n个节点

  1. 建议同步支持 WEBSERVICE

这两个函数是黄金搭档:

  • WEBSERVICE(url) 获取网页/API内容

  • FILTERXML 解析内容

  1. 提供简单官方示例

比如:

  • 解析XML获取指定字段

  • 从网页抓取最新汇率

  • 解析API返回数据

普通用户一看就会。


四、上线 FILTERXML 对WPS的价值

  1. 补齐与Excel的核心函数差距:提升政企、专业用户的兼容性与信任感。

  1. 大幅增强“数据→表格”能力:让WPS表格真正具备轻量BI、轻量接口对接、轻量数据采集能力。

  1. 提升用户粘性与付费意愿:电商、运营、财务、行政、数据分析、开发测试等大量用户都会因此更依赖WPS。


五、总结

FILTERXML 不是小众函数,而是现代办公处理结构化数据的基础能力

目前WPS表格在XML解析、网页数据提取方面存在明显短板,强烈建议官方尽快开发并上线 FILTERXML 函数,同时完善 WEBSERVICE 等配套函数,让WPS表格更强大、更兼容、更专业!

希望产品团队能够采纳,也欢迎大家一起顶帖支持!

北京
浏览 710
收藏
8
分享
8 +1
5
+1
全部评论 5
 
WPS反馈小助理小雅
WPS反馈小助理小雅

WPS社区反馈员

您好, 感谢您的详细建议,关于您的使用场景和使用诉求,您反馈的问题均已详情记录,这边会提交反馈给技术团队小伙伴进行评估优化,感谢您的理解与支持。
· 广东省
1
回复
 
赵二
赵二 Lv.2 潜力创作者

Lv.2潜力创作者

点赞支持。
· 辽宁省
2
回复
 
快乐小子新
可以参考社区中的另一边帖子:https://bbs.wps.cn/topic/17092,使用JSA创建FILTERXML函数,主要代码有三条: customXMLPart = workbook.CustomXMLParts.Add(xml) nodes = customXMLPart.SelectNodes(xpath) results.push(node.Text || node.NodeValue || "")
· 北京
2
回复
 
wils
wils Lv.2 潜力创作者

Lv.2潜力创作者

发过类似的尝试 https://bbs.wps.cn/topic/69458 可以模拟个filterxml出来 但感觉filterxml公式不够用,可以参考xmllint xmlstarlet cheerio的方式,提供不同的提取信息的方式
· 海南省
1
回复
快乐小子新
打包cheerio,有点用枪炮打蚊子的感觉
· 北京
2
回复