univer

框架

dream-num/univer

开源办公 SDK,支持表格、文档、幻灯片与 AI 代理集成。

项目简介

Univer 是一个开源办公 SDK,提供电子表格、文档、幻灯片等能力。采用插件化架构,内置 Canvas 渲染引擎与公式引擎,统一的 Facade API 可同时在浏览器和 Node.js 中运行,适合嵌入产品或为 AI 代理提供无头文档处理。

README 预览

\n\n\n\n**The Office Harness for AI Agents**\n\nSpreadsheets · Documents · Presentations · Bases · Boards · PDFs (coming soon)\n\nHigh-performance, fully customizable Office SDK\n\nBuild embeddable productivity experiences with a plugin architecture, Canvas-based rendering,\na formula engine, and one Facade API that works in the browser and on Node.js.\n\nEnglish | [简体中文](./docs/readme/zh-CN.md) | [繁體中文](./docs/readme/zh-TW.md) | [日本語](./docs/readme/ja-JP.md) | [한국어](./docs/readme/ko-KR.md) | [Español](./docs/readme/es-ES.md)\n\n[🌐 Website](https://univer.ai/) | [📖 Documentation](https://docs.univer.ai) | [✨ Showcase](https://docs.univer.ai/showcase) | [📘 API Reference](https://docs.univer.ai/reference/classes/univer) | [📝 Blog](https://docs.univer.ai/blog)\n\n[](https://github.com/dream-num/univer/releases)\n[](./LICENSE)\n[](https://github.com/dream-num/univer/actions/workflows/build-packages.yml)\n[](https://www.codefactor.io/repository/github/dream-num/univer/overview/dev)\n[](https://codecov.io/gh/dream-num/univer)\n\n[](https://github.com/dream-num/univer/stargazers)\n[](https://github.com/dream-num/univer/graphs/contributors)\n[](https://github.com/dream-num/univer/issues)\n[](https://github.com/dream-num/univer/commits/dev/)\n\n[](https://discord.gg/z3NKNT6D2f)\n[](https://twitter.com/univerhq)\n[](https://opencollective.com/univer)\n\n[](https://trendshift.io/repositories/4376)\n\n\n\n## ✨ What is Univer?\n\nUniver is an open-source SDK for creating office applications inside your own product. It gives you the building blocks for spreadsheet, document, and presentation experiences without forcing you into a hosted app or a fixed UI.\n\nUse Univer when you need to:\n\n- Embed spreadsheet or document editing into a SaaS product, internal tool, BI workflow, or AI application.\n- Run workbook/document processing on the server with the same architecture used in the browser.\n- Compose only the features you need through plugins or start quickly with presets.\

常见问题 (1)

故障排除
为什么在 Univer(headless/Node)中重命名工作表后,使用定义名称的公式会返回 #NAME??

这是 @univerjs/engine-formula / @univerjs/sheets-formula 1.0.3 中一个工作表名称状态过期的 bug。调用 sheet.setName() 之后,定义名称的 formulaOrRefString 会被正确重写为新的工作表名称(例如 Rates2!$A$1),但公式引擎仍按照旧的工作表名称映射来解析该名称,因此在下一次计算时,所有引用该名称的公式(例如 =Q+1)都会返回 #NAME?。使用相同字符串调用 setRef() 无法修复该问题,而删除后重新插入该定义名称则会返回 #REF!。变通方法:重命名工作表后,保存工作簿快照(wb.save()),并将该快照加载到一个全新的 Univer 实例中——这样名称就会按照正确的工作表名称状态进行解析,公式也能恢复正常计算。

来源 Issue #7805