Univer Go: 用电子表格一键实现报表设计器到底有多简单(内含源码)

定制化你的报表:

hi👋 ,向大家推荐一款基于 Univer Go 平台开发的智能模板—— Data Report。该模版内置了强大的TypeORM 库实现与数据库高效交互,在使用该模版时,你将拥有充分的自由度。

  • 可以轻松切换数据库选项,灵活查询数据

  • 根据实际需求自由选择字段,还能随心所欲地挑选报表样式

  • 根据特殊需求修改脚本,定制出完全属于自己的专属报表。

同时 Data Report 让你无需脱离熟悉的电子表格操作环境,就能实现报表设计器的全部功能,真正开启数据处理的全新模式,为你带来便捷、高效的数据处理新体验 。

Univer Go 是一款高度可定制化的电子表格工具,能够根据用户需求构建一个性能与功能对标excel的电子表格。它支持灵活的功能扩展,涵盖基础数据处理、复杂的导入导出操作和协同功能,同时为 UI/UX 设计提供了定制空间,助力打造易用交互界面。此外,Univer Go 融合先进 AI 技术,配备了功能强大的脚本编写与执行工具,支持开发者创建和运行自动化脚本、进行数据库连接与数据读写管理以及开发自定义应用。无论是初学者还是专业开发者,都能凭借其简洁的操作逻辑和丰富功能支持,轻松上手。

体验链接:https://go.univer.ai/en-US

运行后的效果:

具体操作步骤及界面请查看着重介绍业务的文章:

见证!从报表小白到高手,Univer Go 提供了一款免费的报表设计器模版

Univer Go 内获取源代码实现 Data Report

使用链接:Univer Go

1.  client script调用node script获取数据库数据
//client中相关代码
const data = await univerAPI.runOnServer("database", "querySql", { host, port, username, password, database, schema, sqlType, sqlStr });
    if (data) {
        try {
            return JSON.parse(data);
        } catch (e) {
            console.error('parse result error');
        }

    }
//node script相关代码
async function querySql({ host, port, username, password, database, schema, sqlType, sqlStr }) {
    const datasource = new typeorm.DataSource({
        type: sqlType, // or 'mysql' for MySQL
        host: host,
        port: port,
        username: username,
        password: password,
        database: database,
        schema: schema,
        synchronize: false, // Don't auto-sync schema, we are just reading tables
        // logging: true, // Enable SQL query logging
    });
    let data;
    const queryRunner = datasource.createQueryRunner();
    try {
        // Initialize TypeORM connection
        await datasource.initialize();
        data = await queryRunner.query(sqlStr);
    } catch (error) {
        console.error('Error during execution:', error);
    } finally {
        await queryRunner.release();
        await datasource.destroy();
    }
    return JSON.stringify(data);
}
2.  将读取回来的数据通过数据绑定插件展示到对应的path范围中, 具体的插件使用请看这里https://www.npmjs.com/package/@univerjs/sheets-source-binding
const data = await getData(param);
                            const sourceInfo = {
                                records: data,
                                fields: Object.keys(data?.[0] ?? {}),
                            }
                            workbook.setSourceData(param.sourceId, sourceInfo);

以上内容仅是 Univer GO 强大功能的冰山一角!欢迎您体验 Univer GO,不仅能获取更全面的代码,还能探索丰富多样的定制化功能,解锁高效工作新方式 。

### Univer 电子表格使用教程与功能介绍 #### 功能概述 Univer 提供了一个全面的办公套件,其中包括类似于 Excel 的电子表格工具。该工具不仅支持基本的数据输入和计算,还提供了丰富的图表制作、数据透视表以及宏编程等功能[^2]。 #### 安装配置 为了开始使用 Univer 电子表格,在浏览器环境中可以直接通过 npm 或 yarn 进行安装: ```bash npm install @univerjs/core @universheet/excel ``` 对于 Node.js 环境,则需额外引入服务器端渲染的支持库。 #### 基础操作指南 一旦成功集成了 Univer 到项目中,就可以利用其 API 创建新的工作簿或打开已有文件。下面是一个简单的例子展示如何初始化一个空白的工作簿并设置单元格值: ```javascript import { Workbook } from '@univerjs/core'; // 初始化一个新的工作簿实例 const workbook = new Workbook(); // 获取默认的第一个工作表 let worksheet = workbook.getActiveSheet(); // 设置A1单元格的内容为 "Hello World" worksheet.getCell('A1').setValue('Hello World'); ``` 尽管官方文档可能未能详尽描述每一个细节[^3],上述代码片段展示了最基本的交互方式之一——向特定位置写入文本字符串。 #### 数据可视化特性 除了常规的文字处理外,Univer 支持种类型的图形表示法来帮助理解复杂的数据结构。例如柱状图、折线图等都可以轻松绘制出来辅助分析业务逻辑。 #### 开发者注意事项 值得注意的是,虽然 Univer 拥有众优点,但在实际开发过程中可能会遇到一些挑战。比如部分高级特性的实现缺乏足够的说明材料,开发者有时需要深入研究源码才能解决问题;另外也存在着一定的 bug 需要自行调试修正。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值