Skip to content

dream-num/univer

Repository files navigation

Univer

GitHub License GitHub Workflow Status codecov CodeFactor Discord

English | 简体中文 | 日本語

🚧 This project is still in heavy development. Please note that there are likely to be major API changes. Please submit issues and suggestions to us.

Introduction

Univer is a set of enterprise document and data collaboration solutions, including spreadsheets, documents, and slides. The highly extensible design allows developers to customize personalized functions based on Univer.

Highlights of Univer:

  • 📈 Univer supports spreadsheets. Documents and slides will be supported in the future.
  • 🌌 Highly extensible architecture design.
    • 🔌 Plug-in architecture, the capabilities of documents can be combined on demand, support third-party plug-ins, and facilitate customization development.
    • 💄 Provide component library and icons to help developers present a consistent user experience.
  • ⚡ High performance.
    • ✏️ Unified and efficient rendering engine and formula engine, based on Canvas.
    • 🧮 High-performance formula engine, supports Web Worker.
  • 🌍 Internationalization support.

Examples

📊 Univer Sheets

Sheets
Opened: cell styles, formulas. First quarter: conditional formatting, data validation, search and replace. Second quarter (tentative): floating pictures, filtering, sorting, annotations, charts, pivot tables, super tables (tables), shapes
Sheets Multi
Multiple Univer instances can be created on a page to allow interoperability between tables
Sheets Uniscript
In Univer Sheets, you can directly use JavaScript syntax to operate the data in the table to achieve automation.
Sheets Big Data
Loading 10 million cells of data, completed within 500ms
Sheets Collaboration
Please open two windows or invite friends to experience Univer Sheets collaboration together
Sheets Collaboration Playground
Demonstrate the process of collaboration. After A edits the form, how does B process it? Here is an interesting experiment
Sheets Import/Export
Supports xlsx file import and export
Sheets Print
Experience the HD printing capabilities of Univer Sheets
Sheets Data Validation / Conditional Formatting
Development preview of Univer Sheets data formats and conditional formatting

📝 Univer Docs

Docs
Already open: ordered and unordered lists, paragraph settings, mixed graphics and text, multi-column/single column display in sections (tentative): hyperlinks, comments, tables, charts
Docs Multi
Multiple Univer instances can be created in a page so that doc can interoperate.
Docs Uniscript
You can directly use JavaScript syntax to manipulate content in Univer Docs
Docs Big Data
1 million word Docs loading demo
Docs Collaboration
Please open two windows or invite friends to experience Univer Docs collaboration together
Docs Collaboration Playground
Demonstrate the process of collaboration. After A edits the document, how does B process it? Here is an interesting experiment

🎨 Univer Slides

Slides
A canvas presentation containing graphic text, floating pictures, tables and other elements

🧩 Univer Innovation

Zen Mode
The cell of Sheet is a Doc?
Univer(SaaS version)
With Univer, we enable users to create 3 forms of page as they wish. By merging sheet, doc and slide's capabilities together, Univer empowers individuals and teams to create, organize and streamline workflows effortlessly.

Usage

We recommend to import Univer as a npm package. Please checkout the Quick Start section on the documentation website. We also have an online playground which can help you preview Univer without setting up the development environment.

Univer bases on a plugin architecture. You can install the following packages to enhance the functionality of Univer.

Packages

Name Description Version
core Implements plugin system and architecture of Univer. It also provides basic services and models of different types of documents. npm version
design Implements the design system on Univer. It provides CSS and a component kit based on React. npm version
docs Implements basic logics of rich text editing features. It also facilitates text editing in other types of documents. npm version
docs-ui Provides user interface of Univer Documents npm version
engine-formula It implements a rendering engine based on Canvas and is extensible for npm version
engine-numfmt It implements a number format engine. npm version
engine-render It implements a rendering engine based on canvas context2d. npm version
facade It serves as an API layer to make it easier to use Univer npm version
find-replace It implements find and replace features in Univer. npm version
network It implements network services based on WebSocket and HTTP. npm version
rpc It implements a RPC mechanism and methods to sync data between different replicas of Univer documents. npm version
sheets Basic logics of spreadsheet features. npm version
sheets-find-replace It implements find and replace features in Univer Spreadsheets. npm version
sheets-formula It implements formula in spreadsheets. npm version
sheets-numfmt It implements number format in spreadsheets. npm version
sheets-zen-editor It implements Zen editing mode in spreadsheets. npm version
sheets-ui Provides user interface of Univer Spreadsheets npm version
ui Implements basic user interactions with Univer and workbench layout based on React. npm version
uniscript (experimental) Implements a DSL based on Typescript that empowers users to accomplish more sophisticated tasks npm version

Contribution

We appreciate any kinds of contributing. You can submit issues or feature requests to us. Please read our contributing guide first.

If you would like to contribute code to Univer, please refer to the contributing guide as well. It would guide you through the process of setting up the development environment and submitting a pull request.

Sponsors

The growth and development of the Univer project rely on the support of its backers and sponsors. If you are interested in supporting our project, we kindly invite you to consider becoming a sponsor. You can sponsor us through Open Collective.

Thanks to our sponsors, just part of them are listed here because of the space limit, ranking is no particular order:

Stargazers

Stargazers repo roster for @dream-num/univer

Links

Community

License

Univer is distributed under the terms of the Apache-2.0 license.


Copyright DreamNum Inc. 2023-present