# univer **Repository Path**: abc119/univer ## Basic Information - **Project Name**: univer - **Description**: 本仓库是Univer非官方镜像仓库,如有问题请访问原作者官方站点。 Univer 是一个开源的协作解决方案,旨在将协作能力赋能所有系统。 接入我们之后,用户可以同步在自己的系统中查看和编辑 Microsoft Office 文件,避免上传和下载 PPT、Word、Excel。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-06-21 - **Last Updated**: 2023-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Univer 简体中文 | [English](./README.md) ## 介绍 Univer 是一个开源的协作解决方案,旨在将协作能力赋能所有系统。 接入我们之后,用户可以同步在自己的系统中查看和编辑 Microsoft Office 文件,避免上传和下载 PPT、Word、Excel。 我们在本仓库中提供了 Univer 前端代码,一套基于 Canvas 的框架,用于构建文档、电子表格和幻灯片。 > ⚠️ 该项目仍在开发中,仅用于测试和学习,不得用于生产 ## Demo - [Univer Demo](https://dream-num.github.io/univer-demo/) ## 开发 ### 环境 [Node.js](https://nodejs.org/en/) Version >= 14.19 ### 安装 ``` git clone http://github.com/dream-num/univer cd univer npm i -g pnpm # MacOS : sudo npm i -g pnpm npx playwright install pnpm i ``` ### 开发 启动 sheets ``` npm run dev:sheet ``` 启动 docs ``` npm run dev:doc ``` 启动 slides ``` npm run dev:slide ``` 更多开发教程请参考 [贡献指南](./.github/contributing-zh.md)。 ## 问题反馈 请到 [Issues](http://github.com/dream-num/univer/issues) 提交问题。 ## 关注者 [![Stargazers repo roster for @dream-num/univer](https://reporoster.com/stars/dream-num/univer)](https://github.com/dream-num/univer/stargazers) ## 整体架构 Univer 采用 typescript 编写,按照插件化架构进行设计,核心外的功能都以插件的形式进行开发,今后会建设插件市场,满足更加个性化的需求 ![image](./docs/source/overall.png) ## 渲染引擎 Univer sheet, document, slide 采用同一套渲染引擎架构,把应用抽象为文本流,表格,画布,core 部分触发渲染,object 为渲染器。 ![image](./docs/source/Render%20Engine.png) 1. 做到了应用互相间的嵌套和操作。 2. sheet 单元格支持嵌入 doc 文字 3. slide 中支持插入 sheet,doc,slide | slide 10-layer embedding | Sheet in slide and doc in cell | wrap text around a picture | | :-------------------------------: | :--------------------------------------------: | :-----------------------------: | | ![image](./docs/source/Slide.png) | ![image](./docs/source/Sheet%20in%20slide.png) | ![image](./docs/source/doc.png) | ## 公式引擎 Univer 自研公式引擎,支持异步计算, lambda 函数及范围命名 ![image](./docs/source/Formula%20Engine.png) ## 开发计划 ### Sheets > 第一期目标与[luckysheet2.0 版本功能对齐](https://dream-num.github.io/LuckysheetDocs/guide/#features) #### 🛠️ 格式设置 - **样式** `done` - **条件格式** `2023Q1` - **文本对齐及旋转** `done` - **支持文本的截断、溢出、自动换行** `done` - **数据类型** `done` - **单元格内多样式** `done` #### 🧬 单元格 - **拖拽选取来修改单元格** `done` - **选区下拉填充** `2023Q1` - **自动填充选项** `2023Q1` - **多选区操作** `2023Q1` - **查找和替换** `2023Q2` - **定位** `2023Q4` - **合并单元格** `done` - **数据验证(表单功能)** `2023Q2` #### 🖱️ 行和列操作 - **隐藏,插入,删除行或列** `2023Q1` - **冻结行或列** `2023Q1` - **文本分列** `2023Q4` #### 🔨 操作体验 - **撤销/重做** `2023Q1` - **复制/粘贴/剪切操作** `2023Q1` - **快捷键支持** `2023Q2` - **格式刷** `2023Q4` - **任意选区拖拽** `2023Q1` #### ⚙️ 公式和函数 - **公式引擎(支持数组函数、命名、lambda)** `done` - **内置公式** `2023Q1 - 2023Q4 按照使用频率补齐` - **远程公式** `2023Q4` - **自定义公式** `2023Q4` #### 📐 表格操作 - **筛选** `2023Q2` - **排序** `2023Q2` #### 📈 数据透视表 - **字段拖拽** `2023Q3` - **聚合方式** `2023Q3` - **筛选数据** `2023Q4` - **数据透视表下钻** `2023Q4` - **根据数据透视表新建图表** `2023Q4` #### 📊 图表 2023H2 - **基础 6 种图表类型** `2023Q4 - 2024Q2` - **进阶图表类型** `2024Q4` - **SparkLines 小图** `2024Q2` #### ✍️ 分享及写作 - **评论** `2023Q3` - **协同编辑** `2023Q3` #### 📚 插入对象 - **插入图片** `2023Q3` #### ⚡ 其他 - **矩阵计算** `2023Q4` - **截图** `2023Q4` - **复制到其他格式** `2023Q3` - **EXCEL 导入及导出** `2023Q1 - 2023Q4 逐渐增强兼容性` > ⏱️ 后续目标 - **打印及设置** (像 excel 一样进行打印设置,并导出为图片或者 PDF) `2024Q2` - **树形菜单** (类似 excel 中的分级显示(分组)) `2024Q1` - **表格新功能** (类似 excel 中表格的筛选器和切片器) `2024Q1` - **CSV,TXT 导入及导出** (专为 Luckysheet 打造的导入导出插件,支持密码、水印、公式等的本地导入导出) `2024Q1` - **插入 svg 形状** (支持[Pen tool](https://github.com/mengshukeji/Pentool)的插入、修改和删除,并且随表格的变动而产生变化) `2023Q2` ### Docs #### 💌 编辑 - **添加和编辑文本** `2023Q1` - **查找和替换文本** `2023Q4` - **检查语法、拼写等** `2024Q2` - **显示字数统计** `2023Q1` - **插入和删除超链接** `2023Q2` #### 🛀 文本格式 - **设置文本格式** `2023Q1` - **创建项目符号列表或编号列表** `2023Q1` - **更改行距** `2023Q1` - **样式** `2023Q1` - **主题** `2024Q1` #### 🗺️ 页面布局 - **更改页边距** `2023Q1` - **分栏** `2023Q1` - **横向或纵向页面** `2023Q2` - **页面边框** `2023Q4` - **页眉或页脚** `2023Q2` - **页码** `2023Q2` - **分页符** `2023Q2` - **目录** `2024Q2` #### 🧭 插入表格、图片和水印 - **表格** `2023Q2` - **图片** `2023Q1` - **图标** `2023Q3` - **艺术字** `2024Q3` - **水印** `2023Q2` - **标尺** `2023Q3` - **旋转图片或形状** `2023Q1` - **图文混排** `2023Q1` #### 🛎️ 学术格式 - **编写方程式或公式** `2024Q2` - **段落首行缩进** `2023Q1` - **双倍行距** `2023Q1` #### 🧳 编辑、打印、协作 - **转换或保存为 PDF** `2024Q4` - **编辑 PDF** `2024Q4` - **打印文档** `2024Q4` - **协同编辑** `2023Q4` - **批注** `2023Q4` - **移动端** `2024Q4` #### 🕰️ 其他 - **插入 Sheet** `2023Q2` - **插入 slide** `2023Q2` - **导入/导出 word 格式** `2023Q4 - 2024Q4 Gradually enhance compatibility` ### Slides #### 📻 幻灯片和版式 - **幻灯片母版** `2023Q3` - **幻灯片版式** `2023Q3` - **通过主题为幻灯片添加颜色和设计** `2023Q4` - **横向和纵向页面** `2023Q4` - **幻灯片组织成节** `2023Q4` - **创建、合并和组合幻灯片上的对象** `2023Q2` - **旋转或翻转对象** `2023Q2` - **叠放顺序** `2023Q2` #### 📱 文本、表格 - **艺术字** `2024Q3` - **超链接** `2023Q3` - **拼写检查** `2024Q4` - **表格** `2023Q2` - **幻灯片编号、页码或日期和时间** `2023Q4` - **形状或文本框中的文本方向和位置** `2023Q3` #### 📀 图片、形状、图表 - **图片插入** `2023Q1` - **图片编辑** `2024Q2` - **SmartArt** `2024Q2` - **背景图片** `2023Q2` - **图表** `2023Q4 - 2024Q2` - **形状** `2023Q2` - **图标** `2023Q2` #### 🧮 幻灯片放映 - **演示模式** `2023Q2` - **演讲者备注** `2023Q4` - **排练和计时** `2024Q4` - **录制** `2024Q4` - **打印** `2024Q4` - **自动放映** `2024Q4` #### 📒 动画、视频和音频 - **切换效果** `2024Q2` - **文本和对象动画** `2024Q1` - **补间切换** `2024Q4` - **视频** `2023Q4` - **音频** `2023Q4` - **录制屏幕** `2024Q4` #### 📫 其他 - **协同编辑** `2023Q4` - **转换为视频** `2024Q4` - **保存为 PDF** `2024Q4` - **导入/导出为 PPT** `2023Q4` - **移动端** `2023Q4` - **插入 Sheets** `2023Q2` - **插入 documents** `2023Q2`