Univer套件,效率提升新神器?
在快节奏的现代工作环境中,高效、便捷与智能化已成为衡量一款办公工具是否卓越的重要标尺。对于打工人来说,日常经常使用的办公套件有office,wps,钉钉文档,腾讯文档,google文档等这些,大厂出品的这些协作平台,整体来说都还是比较好用的。但是我们只是使用者,没有管理权限。平时开发项目时候,是不是总遇到这种头疼事:客户说“我要在系统里加个表格,能算公式那种”,要么就是“能不能集成个在线文档,支持多人一起改”。找第三方API吧,要么收费死贵,要么定制化程度低,改个样式都得看文档看到吐。
今天给大家分享一个超棒的开源项目 - Univer,它不仅能搞定办公需求,还能完美嵌入我们的项目里,简直是高效办公的神器!

Univer
是一个开源的、类 Office 的文档处理平台,它支持电子表格、富文本文档和即将推出的幻灯片功能,支持三大核心文档类型:电子表格、文本文档 和演示幻灯片,满足团队在办公、协作与数据处理方面的需求,搭建属于自己的"office"平台。这个平台能够在浏览器和Node.js环境中运行,易于集成到我们的应用中。而且,它还提供了丰富的功能,比如公式计算、条件格式、数据验证、筛选、协同编辑、打印和导入导出等,支持Windows、macOS、Linux等多个操作系统,满足不同用户的需求。简直是程序员的福音啊!

Univer 的功能通过插件模块来实现,提供了丰富的插件支持,用户可以根据需求自由选择安装相关插件。无论是基本的表格操作功能,还是数据分析、图表生成等高级功能,都可以通过插件来扩展。每个插件负责特定功能或能力的提供。例如:
@univerjs/sheets-filter 插件为电子表格提供了筛选功能
@univerjs/engine-render 插件则负责渲染能力。

我们可以根据实际需求灵活组合和选择插件,这种插件化的设计不仅让你能够定制化 Univer,还能避免加载不必要的功能代码。在 Univer 中,快照是文档的保存格式,类似于“文档的快照”状态。每种文档类型都有自己的快照格式:
电子表格的快照格式是 IWorkbookData
单元格数据结构 介绍了单元格的数据结构
文档的快照格式是 IDocumentData

具体的快照结构可以参考官方的 API 文档。为开发者提供了一套完整的 API 接口,方便集成到现有系统中,或者扩展其功能。通过 API,开发者可以快速与其他系统或服务进行交互,诸如获取实时数据、与数据库同步等操作变得非常方便。快照不仅存储了文档的数据,也支持资源的存储,如图片、附件等。(注意:快照仅用于存储数据,并不会反映文档的实时状态。它是数据持久化的中介,而在运行时,文档的内容和状态需要通过其他方式来实时更新。)

Univer 的所有数据修改都依赖于 命令。通过命令机制,Univer 能够追踪文档的变化,支持撤销、重做、协同编辑等功能。包括公式运算、数据排序、筛选、条件格式化等,甚至可以与插件结合,生成可视化的图表来更好地呈现数据分析结果。命令不仅使得数据修改过程可追溯,还能处理不同功能之间复杂的关联逻辑。这样,开发者能够更加精确地控制文档的状态,确保数据的正确性与一致性。如果你想要通过命令修改文档中的数据,可以参考如何查找命令 ID 的相关教程:查找命令 ID。在使用 Facade API 修改文档数据时,系统会自动为你准备命令参数并执行命令,从而简化操作流程。

Univer 的架构较为复杂,为了使开发者更容易上手,官方提供了 Facade API。这个 API 是对 Univer 第一方插件的封装,简化了接口的使用,使开发者能够更轻松地操作和集成 Univer。通过 Facade API,你可以快速调用常见功能,而无需直接与底层的插件或命令打交道。然而,简单性总是有代价的。如果你的需求更为复杂,或者需要更高的自定义能力,可能需要直接操作更底层的 API 来实现功能。

Univer以其现代化的设计和强大的功能,在办公软件领域占据了一席之地。无论是个人用户还是企业用户,都可以从Univer中找到适合自己的解决方案。希望本文能帮助你更好地了解和使用Univer,提高你的工作效率。
官网:https://www.univer.ai
GitHub地址:https://github.com/dream-num/helm-charts
