Univer v0.8.0 发布,开源免费版 Google Sheets

大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随易。

这是我专门分享代码技术,编程资讯,行业热点的公众号,欢迎关注。

  • 个人网站 1️⃣:chensuiyi.me
  • 个人网站 2️⃣:me.yicode.tech
  • 技术群,搞钱群,闲聊群,自驾群,想入群的在我个人网站联系我。

一键三连 (点赞评论转发),可以给我提供曝光,带来一份早餐收入,谢谢大家~~


基本介绍

2025年6月7日,开源办公套件 Univer 发布了 v0.8.0 版本。作为一个支持文档、表格和演示文稿的协作编辑框架,Univer 在这个版本中带来了众多令人期待的新特性和优化。

Univer 是一个基于 TypeScript 开发的现代化办公套件,它不仅提供了类似于 Microsoft Office 和 Google Docs 的功能,还具有高度的可扩展性和定制化能力。对于开发者来说,Univer 提供了完善的 API 和插件系统,可以轻松集成到各种应用场景中。

重磅更新

🌓 黑暗模式:程序员的护眼神器

v0.8.0 最令人激动的特性就是原生黑暗模式支持!这不是简单的颜色反转,而是精心设计的深色主题:

typescript 复制代码
// 主题配置示例
const univerConfig = {
    theme: {
        colorScheme: 'dark', // 'light' | 'dark' | 'auto'
        // 支持跟随系统主题自动切换
        followSystem: true
    }
};

技术实现亮点:

  • 使用 CSS 变量实现主题切换,无需重新渲染
  • 支持自定义主题色彩系统
  • 提供主题切换 API,可与应用的主题系统联动

🎀 全新 Ribbon 工具栏架构

工具栏采用了全新的组件化设计:

typescript 复制代码
// 简洁模式配置
const ribbonConfig = {
    layout: 'compact', // 'grouped' | 'compact'
    customGroups: [
        {
            id: 'dev-tools',
            items: ['format-json', 'validate-data', 'export-api']
        }
    ]
};

技术优势:

  • 基于 React 的声明式组件
  • 支持懒加载,提升初始化性能
  • 可通过插件扩展自定义工具

📊 Univer Sheets 表格功能增强

终于可以在表格中创建动态链接了!

excel 复制代码
=HYPERLINK("https://api.example.com/docs/" & A2, "查看文档")

应用场景:

  • API 文档快速跳转
  • Git commit 链接生成
  • Issue 追踪链接

智能数字格式处理

新增配置项,解决字符串数字的格式问题:

typescript 复制代码
const sheetsConfig = {
    disableForceStringAlert: true, // 禁用强制字符串提醒
    disableForceStringMark: true, // 禁用强制字符串标记
    // 保留 "001" 这样的格式不被转换
    preserveStringNumbers: true
};

性能优化数据

  • 数字格式化性能提升 300%
  • 大数据集渲染优化,10 万行数据滚动流畅
  • 公式计算引擎优化,复杂公式计算速度提升 50%

🔧 开发者友好特性

1。Web Component 支持

现在可以将 Univer 封装为 Web Component 使用:

javascript 复制代码
// 注册自定义元素
customElements.define('univer-sheet', UniverSheetElement);

// 在任何框架中使用
<univer-sheet data-source="api/data.json" theme="dark" readonly="false" />;

2。增强的 TypeScript 支持

  • 完整的类型定义
  • 更好的 IDE 智能提示
  • 严格的类型检查

3。插件开发优化

typescript 复制代码
// 新的插件开发模式
export class MyCustomPlugin extends Plugin {
    static override type = UniverInstanceType.UNIVER_SHEET;

    override onMounted(): void {
        // 插件生命周期钩子
        this.registerCommand({
            id: 'custom.command',
            handler: (params) => {
                // 自定义命令逻辑
            }
        });
    }
}

2。内存优化

  • 优化了 getCell 拦截器的临时对象内存占用
  • 改进了工作表 rowDatacolumnData 的存储方式

3。渲染性能提升

  • 优化单元格渲染和自动高度计算
  • 改进了换行算法,支持超长单词的处理

4。开发体验改进

  • 新增 Web Component 示例
  • 更新了多个 Facade API 示例
  • 添加了组件类名常量,提升代码可维护性

如何升级

如果你已经在使用 Univer,升级到 v0.8.0 非常简单:

bash 复制代码
npm update @univerjs/core @univerjs/sheets @univerjs/docs

如果你是新用户,可以查看快速开始文档

技术架构亮点

模块化设计

Univer 采用了高度模块化的架构设计:

typescript 复制代码
// 按需引入所需模块
import { Univer } from '@univerjs/core';
import { UniverSheetsPlugin } from '@univerjs/sheets';
import { UniverSheetsUIPlugin } from '@univerjs/sheets-ui';

// 精确控制功能加载
const univer = new Univer({
    plugins: [UniverSheetsPlugin, UniverSheetsUIPlugin]
});

性能监控集成

v0.8.0 提供了性能监控钩子:

typescript 复制代码
univer.on('performance:measure', (metrics) => {
    console.log('Render time:', metrics.renderTime);
    console.log('Formula calc time:', metrics.formulaTime);
    // 可接入自己的监控系统
});

国际化支持

完善的多语言支持,适合国际化项目:

typescript 复制代码
import zhCN from '@univerjs/sheets/locale/zh-CN';
import enUS from '@univerjs/sheets/locale/en-US';

const univer = new Univer({
    locales: {
        'zh-CN': zhCN,
        'en-US': enUS
    },
    locale: 'zh-CN'
});

实战技巧

1。与 CI/CD 集成

yaml 复制代码
# GitHub Actions 示例
- name: Generate Report
  run: |
      node scripts/generate-report.js
      univer export --format=pdf --output=reports/

2。自动化测试

typescript 复制代码
// 使用 Univer 进行数据验证测试
const sheet = univer.createSheet(testData);
const results = sheet.validate({
    rules: [
        { column: 'A', type: 'number', min: 0 },
        { column: 'B', type: 'email' }
    ]
});

3。性能优化建议

  • 大数据集使用虚拟滚动
  • 启用 Web Worker 进行公式计算
  • 合理使用缓存策略

总结

Univer v0.8.0 不仅仅是一次版本更新,更是对开发者体验的全面升级。黑暗模式让深夜编程更舒适,强大的 API 让集成更简单,优秀的性能让应用更流畅。

无论你是在构建内部工具、开发 SaaS 产品,还是需要一个强大的数据处理引擎,Univer v0.8.0 都能成为你的得力助手。现在就试试吧,相信它会给你带来惊喜!


完整的更新日志和 API 文档:GitHub Release

相关推荐
javachen__几秒前
SpringBoot整合P6Spy实现全链路SQL监控
spring boot·后端·sql
阿珊和她的猫2 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
uzong5 小时前
技术故障复盘模版
后端
GetcharZp6 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
加班是不可能的,除非双倍日工资6 小时前
css预编译器实现星空背景图
前端·css·vue3
桦说编程6 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研6 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi7 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip7 小时前
vite和webpack打包结构控制
前端·javascript
excel7 小时前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端