DeepSeek对Office.js与WPS JS的比较(一)

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

Office Web Add-ins(Office.js)与WPS加载项(WPS JS)是“形似而神不似”的两套体系。它们虽然都宣称使用Web技术栈(HTML/CSS/JS),但在架构哲学、运行容器、API设计、部署管控层面完全是两条技术路线。


一、总览对比表:核心差异速判

对比维度

Office Web Add-ins (Office.js)

WPS 加载项 (WPS JS)

技术本质

纯Web网页嵌入(远程/本地HTTP服务)

混合架构(本地渲染+逻辑可调用原生API)

渲染内核

Edge Legacy (WebView) / IE(历史包袱重)

内嵌Chromium(现代Chrome内核)

API风格

全新设计的异步Promise API(Office.js)

兼容VBA对象模型思维的同步/异步混合API

开发语言

JavaScript/TypeScript(Office.js + 宿主API)

JavaScript/TypeScript(WPS SDK + 部分Node.js子集)

平台覆盖

Win/Mac/iOS/Android/Web(强跨端

Win/Mac/Linux/Android/iOS/Web(全端覆盖

离线使用

必须联网(本质是加载远程网页)

支持纯离线(内网部署甚至文档级JS宏)

部署分发

商店为主,侧加载繁琐(企业目录服务)

极其灵活:网页安装、本地包、甚至内网共享

社区与生态

国际主流,但国内个人开发者渗透率极低

国内爆发式增长,官方扶持力度大

典型场景

企业Office 365生态集成、跨平台轻交互

国产化替代、中国式复杂报表、内网自动化


二、技术架构层:根本性的“基因差异”

1️⃣ 运行容器:IE的“历史枷锁” vs Chromium的“降维打击”

这是两者最悬殊的差距,直接决定了开发体验的上限。

Office Web Add-ins 的最大历史包袱是渲染引擎严重滞后。在Windows版Office中,插件容器长期以来绑定系统IE/Edge Legacy(WebView)。这意味着:

  • 你无法使用async/awaitfetch现代CSS等大量ES6+特性(除非使用polyfill并牺牲性能);

  • 调试工具落后,布局渲染存在大量怪异模式问题;

  • 微软至今没有彻底替换Win32 Office的WebView内核(Office 365虽在推进Edge WebView2,但存量企业版本仍是IE血脉)。

WPS加载项则直接内嵌Chromium内核,这是金山后期重构加载项架构时的后发优势。

  • 你可以使用完整的现代前端技术栈(Vue/React/Angular、Webpack/Vite);

  • 调试直接调用Chrome DevTools,体验与Web开发完全一致;

  • 这导致一个残酷现实:Office插件的UI复杂度、流畅度、视觉融合度,被WPS加载项明显拉开差距

2️⃣ API设计哲学:从零再造 vs 传承兼容

Office.js 是微软在Office 2013时代“推倒重来”的一套全新API模型。

  • 完全异步化:几乎所有操作都是Promisecontext.sync())。这符合Web规范,但VBA开发者迁移时认知成本极高

  • 对象模型简化:与VBA的RangeWorksheet模型有差异,需重新学习。

WPS JS API 则体现了务实的传承思维

  • 大量API命名和逻辑向VBA靠拢,VBA开发者迁移成本极低(例如Application.Sheet.GetSheets());

  • 同步/异步混用:对性能敏感的批量操作提供异步分页,但常规读写支持同步,学习曲线平缓

  • 国产化增强:内置中国式报表专用API(合并单元格智能填充、跨表联动、金融级浮点精度)——这是Office.js完全不具备的本土化能力

3️⃣ 离线与部署:微软的“云原生执念” vs 金山的“接地气”

Office Web Add-ins 从设计之初就被定位为“云插件”

  • 必须从HTTPS地址加载(本地localhost调试除外);

  • 无法将代码打包进文档,必须依赖Web服务器

  • 面向个人开发者的分发渠道只有应用商店,且商店国际版访问困难、需交费、审核严;

  • 企业侧加载需配置共享目录证书或集中部署服务,普通用户根本无从下手

WPS加载项则开放了多条“生存路径”

  1. 纯离线模式:可将加载项部署在内网服务器,甚至打包成本地安装包;

  1. 文档级JS宏:WPS最新版支持将JS代码直接保存于文档内(类似VBA),彻底脱离服务器,文件发给人就能跑;

  1. 一键安装:通过publish.html,用户访问网址即可安装,学习成本接近手机App

这一点对于国内个人开发者、中小型企业具有致命吸引力——不需要买服务器、不需要申请商店账号、不需要处理HTTPS证书。


三、开发与生态层:冰火两重天

1️⃣ 开发工具链

  • Office:官方推荐Yeoman generator + npm start侧加载,或VSCode插件。但yo office对Node版本敏感,网络问题频发(需下载GitHub模板),国内成功率低

  • WPS:官方提供wpsjs命令行工具,一条wpsjs create生成Vue/React项目,wpsjs debug自动拉起WPS并热更新,工具链一体化程度远超微软

2️⃣ 学习门槛与录制宏

  • Office.js无录制宏功能。所有代码必须手写,无法从用户操作反向生成API示例。

  • WPS JS:已支持JS宏录制。用户操作表格,WPS自动生成JS代码,这是VBA时代最有效的学习路径,极大降低入门门槛。

3️⃣ 社区与文档

  • Office.js:国际社区丰富,但国内开发者圈子极小。微软中文文档偏重概念,缺少本土化实战案例

  • WPS加载项:金山近两年明显加大文档投入,社区涌现大量实战教程(对接ERP、Webhook、多维表格),接地气程度远超微软


四、功能与性能层:各有胜负

功能点

Office Web Add-ins

WPS 加载项

胜负手

自定义函数(UDF)

仅限Office 365订阅,旧版永久授权不支持

全版本支持,无订阅限制

WPS

RTD函数(实时数据)

Web方案完全无法实现

无明确支持,但Webhook轮询可模拟

暂无解

Ribbon定制

新架构(需配置VersionOverrides

继承式定制,与VBA时代兼容

WPS

性能(大批量读写)

异步批处理,性能尚可

支持同步/异步,部分场景实测更优

⚖️ 持平

跨平台一致性

高度一致(Web技术天然优势)

高度一致(各端API抽象层)

⚖️ 持平

特别警示(UDF差异)

Office.js的自定义函数仅在Office 365的订阅版本中可用Office 2019/2021等永久授权用户无法使用。这意味着若你的客户是存量永久版用户,Office.js的自定义函数能力直接废掉。而WPS加载项的自定义函数全版本可用——这是企业选型中极其容易踩的坑。


五、选型决策指南:什么场景选谁?

🎯 坚定选择 WPS 加载项的场景

  1. 客户使用WPS为主(尤其是政府、国企、教育行业),且涉及国产化替代;

  1. 需要纯离线运行,文档发给客户就能用(如模板库、内部工具);

  1. 核心痛点是“中国式复杂报表”(合并单元格、多级表头、跨表计算);

  1. 开发团队从VBA转型,希望复用既有对象模型思维;

  1. 需要快速分发、低门槛安装,不希望被应用商店审核卡脖子;

  1. 必须兼容Windows 7/老旧系统,且客户不愿升级Office版本。

🎯 坚定选择 Office Web Add-ins 的场景

  1. 深度绑定微软365生态(SharePoint、Teams、Outlook);

  1. 必须跨Mac/iPad/Web全平台,且对UI一致性要求极高;

  1. 面向国际客户,插件需上架AppSource全球分发;

  1. 项目要求强制使用TypeScript,并采用最前沿的Web架构;

  1. 仅需基础表格操作,不涉及大量UDF或复杂本地交互。


六、总结陈述

Office.js与WPS JS,表面是同类竞品,实则是不同时代、不同哲学下的产物

Office Web Add-ins 是一个彻底的“云时代架构”,它干净、现代、跨平台,但背负着IE容器、强制联网、版本割裂的历史枷锁,且在国内个人/中小企业市场始终未能走通分发闭环

WPS加载项 则展示了后发者如何做取舍:保留VBA传承,降低迁移门槛;拥抱Chromium,榨干前端红利;开放离线路径,服务真实国情。它在架构先进性、开发友好度、分发灵活性三个层面,均已实现对微软方案的局部反超

结论:如果你在中国本土市场做企业级Office扩展,目前WPS加载项是综合门槛更低、上限更高、落地更稳的选择。这不是简单的“支持国产”,而是技术选型上基于现实约束的理性决策

广东省
浏览 1692
收藏
4
分享
4 +1
1
+1
全部评论 1
 
快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

以上信息主要基于2021年的情况。
· 广东省
1
回复