18k Star 的 Univer,把 Excel、Word 和 PPT 做成了一套可嵌入的 SDK
- 2026-11-08 19:59:24

GitHub 上有一个叫 Univer 的开源项目,目前约 18k Star、1.5k fork,由 DreamNum 公司维护,采用 Apache-2.0 许可证。它做的事情用一句话就能讲明白,把电子表格、文档、幻灯片这些办公能力,做成一套能嵌进你自己产品的 SDK。它不做成一个要登录才能用的在线办公网站。
和那些想做成成品应用的 Office 项目不同,Univer 只提供构建模块。开发者拿到的是渲染引擎、公式引擎、文档模型和一组插件,自己决定界面长什么样、跑在哪里。仓库里的定位写得很直白,叫 The Office Harness for AI Agents,要把表格、文档、幻灯片、画布、关系表和 PDF 装进同一个运行时。
自研引擎与同构
底层技术是整个项目最值得说的地方。Univer 没有套用现成的表格渲染库,而是自研了 Canvas 渲染引擎(@univerjs/engine-render)和公式引擎(@univerjs/engine-formula),整个项目用 TypeScript 写成,以 pnpm 管理的 Monorepo 组织。Canvas 渲染的好处是跨文档类型共用一套绘制逻辑,表格单元格、文档段落、幻灯片页面,底层都是同一套图形接口在画。公式引擎则独立承担计算,让复杂工作簿还能保持响应速度。
为什么不直接用 DOM 表格加现成公式库?DOM 在单元格数量上去之后渲染会卡,公式库又常常和界面耦合。Univer 把渲染和计算都收进自己的引擎,界面只负责把数据画出来,计算和绘制解耦,这是它能撑住大体量工作簿的原因。
更关键的一点是同构。浏览器里跑的那套 UI 应用,和服务端 Node.js 里跑的无头逻辑,共用同一套架构和同一套 Facade API。Facade 是 Univer 对外统一的高级接口,名字叫 FUniver、FWorkbook、FRange 这类,浏览器和 Node 都能用。同一段操作工作簿的代码,前端能跑,后端也能跑。
界面层基于 React 18 构建,同时预留了 Vue 和 Web Components 的接入位,团队可以用自己熟悉的前端栈去套这层办公能力。暗黑模式也是开箱就绪,不是只改了 CSS 变量,渲染引擎和 UI 组件都做了明暗两套适配。浏览器支持从 Chrome 88、Edge 88、Firefox 90、Safari 14.1 起,依赖一个叫 Intl.Segmenter 的 API,老环境需要打 polyfill。
三种集成方式
集成方式有三种,按控制粒度从松到紧排列。最省事的是预设模式,引入预设包再调用 createUniver 传入容器和语言,几行就能拉起一个能用的表格。想多控制就走插件模式,手动注册一堆 @univerjs/* 包,自己决定加载哪些能力、挂什么 UI。第三种是无头模式,不渲染界面,只在服务端处理工作簿和文档逻辑、跑公式计算、做自动化。
无头模式与 AI 代理
无头模式正好接上那个 AI Agents 的提法。把工作簿逻辑放到 Node 里跑,就能用脚本或代理去读数据、改单元格、算公式,再把结果交回前端或写进数据库。它把办公文档当成可被程序直接操作的数据结构,不依赖人去点开界面。自动化报表、服务端批量处理、把表格能力接进 AI 工作流,都能从这里找到落点。
成熟度与怎么上手
成熟度上要说实话。电子表格是目前最完整的产品面,工作簿、公式、筛选排序、数据验证、条件格式这些常用能力都齐了。文档和幻灯片与 Sheets 共享同一套架构,文档已经能做富文本编辑,幻灯片还在活跃开发中。PDF 在标题里标了 coming soon,关系表和更高级的数据库模型主要走 Univer Pro 那条商业扩展线。开源包在 Apache-2.0 下独立可用,Pro 是可选的,不强制绑定。
仓库默认是 dev 分支,累计 5808 次提交,开发节奏很活跃。如果你的产品需要在前端嵌入一块表格或文档编辑区,又不想从渲染和公式重新开始,Univer 这套 SDK 是现成的底子。文档在 docs.univer.ai,本地跑起来只要 Node.js 22 以上、pnpm 11 以上,clone 下来 pnpm install 再 pnpm dev,就能打开那个全功能工作台。要不要真把它搬进生产,看场景对表格成熟度、协同和私有部署的具体要求,这件事只能按项目自己权衡。