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

相关推荐
Mintopia5 分钟前
Three.js 物理引擎:给你的 3D 世界装上 “牛顿之魂”
前端·javascript·three.js
Jeremy_Lee1239 分钟前
grafana 批量视图备份及恢复(含数据源)
前端·网络·grafana
Livingbody11 分钟前
Fast Whisper 语音转文本
后端
import_random14 分钟前
[python]conda
前端
亲亲小宝宝鸭15 分钟前
写了两个小需求,终于搞清楚了表格合并
前端·vue.js
liangdabiao16 分钟前
让AI写出真正可用的图文并茂的帖子(微信公众号,小红书,博客)
程序员
BUG收容所所长17 分钟前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
程序员岳焱18 分钟前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
安妮的心动录22 分钟前
人是习惯的结果
面试·程序员·求职
G探险者23 分钟前
《深入理解 Nacos 集群与 Raft 协议》系列五:为什么集群未过半,系统就不可用?从 Raft 的投票机制说起
分布式·后端