![](http://www.zhousa.com/zb_users/theme/quietlee/style/noimg/5.jpg)
阅读《2024 中国开源开发者报告》赢大奖,扫码申请享特权
![](https://www.oschina.net/img/hot3.png)
定制化你的报表:
hi👋 ,向大家推荐一款基于 Univer Go平台开发的智能模板—— Data Report。该模版内置了强大的TypeORM 库实现与数据库高效交互,在使用该模版时,你将拥有充分的自由度。- 可以轻松切换数据库选项,灵活查询数据
- 根据实际需求自由选择字段,还能随心所欲地挑选报表样式
- 根据特殊需求修改脚本,定制出完全属于自己的专属报表。
Univer Go 是一款高度可定制化的电子表格工具,能够根据用户需求构建一个性能与功能对标excel的电子表格。它支持灵活的功能扩展,涵盖基础数据处理、复杂的导入导出操作和协同功能,同时为 UI/UX 设计提供了定制空间,助力打造易用交互界面。此外,Univer Go 融合先进 AI 技术,配备了功能强大的脚本编写与执行工具,支持开发者创建和运行自动化脚本、进行数据库连接与数据读写管理以及开发自定义应用。无论是初学者还是专业开发者,都能凭借其简洁的操作逻辑和丰富功能支持,轻松上手。 体验链接: https://go.univer.ai/en-US
![](https://oscimg.oschina.net/oscnet//bb755c92856d07ee8e84df4db9e9035b.jpg)
![](https://oscimg.oschina.net/oscnet//f5d09b52ae80c0ab7ee3729f349d0ec9.jpg)
运行后的效果:
具体操作步骤及界面请查看着重介绍业务的文章: 从报表小白一秒升级为高手,Univer Go 这款免费的报表设计器模版有多厉害?![](https://oscimg.oschina.net/oscnet//3ef0fe5855c51a4ec6ff68fe32ec859f.jpg)
Univer Go 内获取源代码实现 Data Report :
请先下载 Univer Go 获取源码: https://go.univer.ai/en-US-
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); }
-
将读取回来的数据通过数据绑定插件展示到对应的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,不仅能获取更全面的代码,还能探索丰富多样的定制化功能,解锁高效工作新方式 。
还没有评论,来说两句吧...