univer: Office SDK for building Office applications inside your own product.
What problem it solves
Building an Office-style application or agent workflow requires editable content, calculation, application integration, and a foundation that can be extended with custom features. The open-source core provides these building blocks while allowing applications to retain control of their data, permissions, persistence, and orchestration.
Key features
Embedded Sheets and Docs — Compose Sheets and Docs editing capabilities into an embedded editor or a custom Office application. The open-source repository includes content models, rendering, calculation, UI foundations, and Sheets and Docs editing features.
Source: README
Application integration through Facade APIs — Connect application code or agents to workbooks, worksheets, and ranges through the application-facing Facade API. The same workbook can be populated, updated, recalculated, and saved by the editor and surrounding application.
Source: README
Extensible plugin architecture — Build custom features by separating content rules from UI interactions and coordinating them through public services, commands, and extension points. The architecture also provides dependency injection, lifecycle stages, and disposable registration.
Source: README
Command-based editing and history — Coordinate changes across features with a command system that composes execution and undo data. This supports workflows in which one edit affects multiple parts of the document, such as content and a filter range.
Source: README
Sheets editing and calculation — The open-source Sheets capabilities cover cell presentation, data operations, formulas, and document utilities. The quick start requires only the Sheets Core preset, while broader capabilities are available through additional plugins and presets.
Source: README
Quick start
Copied verbatim from the project's README.
pnpm add @univerjs/presets @univerjs/preset-sheets-coreimport { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'
import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
import '@univerjs/preset-sheets-core/lib/index.css'
const { univerAPI } = createUniver({
locale: LocaleType.EN_US,
locales: {
[LocaleType.EN_US]: mergeLocales(UniverPresetSheetsCoreEnUS),
},
presets: [
UniverSheetsCorePreset({
container: 'app',
}),
],
})
univerAPI.createWorkbook({})Who it may suit
This may suit developers embedding Sheets or Docs in an application, and teams building custom Office workflows for applications or agents.
Topics to discuss
Which application or agent workflows should be prioritized for new Facade API examples?
How should custom features be structured across feature, UI, and product plugin boundaries?
Which collaboration, file-processing, or agent workflows need clearer integration guidance?
Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.
Read the original README https://github.com/dream-num/univer#readme
ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.
Comments
…