FineReport中掌握这4个技巧,高效开发各种报表!

月末月初,年末年中,一大批报表需求涌来。每到这个时候,都觉得自己的表格技能格外鸡肋,看到任何一个N天精通Excel的字眼都格外敏感。
但是,企业里批量的报表,爆炸的需求,纵使有再高的Excel技能也都招架不住。这时候恨不得有大神能写个万能脚本,一键搞定报表制作。
当然,万能的代码是没有的,半自助化的报表工具倒有一个——FineReport
这是一个供开发人员用的web报表工具,可以轻松制作各种复杂报表,批量生成同类型报表。像周报月报这种固定报表,做好模板,定时调度可自动生成。
但是,也有人会问,报表样式迥异,很多都很难共用一张模板,需求多了,做模板也很吃力啊。
人啊,总是求懒心切。这里大师兄总结了FineReport制作报表模板的几个技巧,比如复用数据集,复用模板组件,能大大降低重复工作量。

1.数据集复用

FineReport对数据的操作,是将数据从数据库中提取出来作为“数据集”,然后再用于报表模板的设计和数据的展现集合。这样做的好处是能将不同数据库中的数据直接整合到一起,置于内存的数据处理性能也比较快。
在开发报表时经常会遇到需要复用已有数据集的情况,比如今天提取的一个数据集1个月前提取过。笨办法就是把以前的数据集打开,复制取数的sql语句,然后复制粘贴,虽然也比较费时,但比重新输入要好很多。

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧
但是其他数据集的复用就特别麻烦了,特别是内置数据集。像模板内置数据集原理就是在模板数据集中新建一个类似数据库表的原表,可作为模板的数据源来设计报表。但是是在原电脑上建立的数据库连接,如果换一台电脑这个链接就会失效,就看不了模板,这时候就可以直接将该模板的数据集定义成内置数据集或者在制作模板的机器上将该模板输出成内置数据集模板,这样该模板就可以在任何电脑上访问了。
往往我们需要重新构建内置数据集,再重新录入数据,可复用性为零,在另一个模板里使用其他模板已有的内置数据集就得重新做一个。除了费时间,再一点就是复用时操作太多容易出错,而且是不易察觉的错误,这里推荐一个又快又不容易出错的方法——notepad++

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧

它的好处体现在两个方面:
① 可以直接用notepad++打开cpt或者frm(类似于代码的形式),把里面的数据集部分的代码复制到另外一个cpt或者frm里,一步复制粘贴就可以把所有各种类型的数据集(包括最麻烦的内置数据集)完全无错地复用。
② 还可以一键替换用了很多次的模板参数,不需要自己一个个去改,十分方便。

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧

2编辑器sql优化

FineReport是通过写sql来提取数据的。一般来说,我们取数都是从其他地方获取测试有效的sql语句粘贴到FineReport中,比较麻烦。而设计器内部的sql编辑器没有智能设置,且显示区域较小,缺乏像navicat等自动联想、自动检测错误等人性化功能,导致开发报表时在设计器内部直接编写sql语句很麻烦,并且FineReport内置的函数和数据库的函数还有所区别。这个时候就可以安装一款“高级数据库查询”插件,该插件提供了简化sql输入、无缝对接sql可视化编辑工具的能力。
(1)支持数据权限管理,方便之余更能兼顾安全;

(2)支持语法提示、自动补全(支持补齐字段名)和代码美化,让具有不同sql代码编写习惯的开发者也能便捷地熟悉对方的代码;

(3)在sql中加入帆软公式支持;

(4)支持可视化的sql builder,傻瓜式操作,通过简单拖拽就能完成sql编写,让没有sql基础的业务人员也能完成简单的sql编写,大大降低了报表开发的门槛。

对比

默认sql编辑窗口:固定大小,代码无法自动美化:

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧
高级数据库查询:可全屏展现,自动美化代码:

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧
“高级数据库查询”插件免费哦,点击查看插件下载地址

3单元格部分属性复用

他山之石,可以攻玉。很多时候我们能在别的模板中看到喜欢的设计,比如文字配色、背景色、边框设置、条件属性设置、超链效果等等,然后就想复制过来,但是一步步设置比较麻烦,希望能想复制粘贴一样简单地操作就能完成,现有的crtl+B可复制格式,但对于扩展、条件属性、超链、控件等不能实现,直接把全部内容和设置直接复制过来还需要再调整,往往我们只想要复制它众多属性中的一个,那么这里推荐使用一款插件——可选择性粘贴,可将单元格的一下部分单独粘贴:
(1)元素(插入数据列、普通文本、富文本、公式、图表、子报表、图片、斜线);

(2)扩展属性(扩展分享、左父格、上父格、可伸展属性、扩展后排序及排序公式);

(3)样式属性(自定义属性、文本格式/字体、单元格样式/边框/背景、对齐、换行、缩进等);

(4)形态属性(数据字典、条形码、公式形态、金额线);

(5)其他属性(行高列宽调整、插入行策略、分页设置等);

(6)控件(文本、文本域、数字、密码、按钮、复选按钮、日期、文件等控件);

(7)条件属性(背景、字体、颜色、新值、行高、列宽等条件属性设置);

(8)超级链接(网络报表、邮件、网页链接、动态参数、JS脚本等);

(9)也可全部粘贴。

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧

“可选择性粘贴“插件免费哦,点击查看插件下载地址

4决策报表中组件复用

决策报表是专为解决驾驶舱类报表而开发的。不同于普通报表设计格子式界面,FineReport决策报表采用了画布式操作界面,通过简单的拖拽操作即可帮助用户构建强大、全面的“管理驾驶舱”,在同一个页面整合不同的企业数据,完美的展示企业的各类业务指标,实现数据的多维度分析。决策报表文件的后缀格式是frm。
制作大屏或驾驶舱时,也可以复用已有demo中的整个模块,也可以复用其中的组件。
比如下面这个展示项目阶段及节点时间的模块,实际上使用了好几十个控件叠加起来才可以有这样的显示效果。如果要自己一个一个叠加实现需要花费非常非常多的时间和精力才能做好,而且还需要不断调试组件的大小和相对位置。

自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧 自动生成表格,报表模板,数据库sql优化,表格制作的方法与技巧
但frm里支持对多个组件的同时复制粘贴,并且可以一起放缩大小,保持整体比例和和各组件相对位置不变。
FineReport提供了组件云端共享和本地复用功能。将收集到的优秀 demo上传到云端共享中心,大家可根据需要,自行下载自己喜欢的 demo,并应用到自己的决策报表之中,既节省了人力又做出了好看的报表。
此外,组件还支持本地复用,对任意选中的组件通过键盘可以进行复制、剪切、粘贴,支持在同一个报表模板内复用, 也支持在不同的报表模板间复用。
最后,一句话总结。对于复杂高频的报表,尤其是企业报表需求,使用专用的报表工具,再掌握一些提高效率的技巧,绝对事半功倍。

比如,目前主流的软件——finereport,它小到填报、查询、部署、集成,大到可视化大屏、dashboard驾驶舱,应有尽有,功能很强大。最重要的是,因为这个工具,整个公司的数据架构都可以变得规范,下一步就是构建企业的大数据平台了。而且它是java编写的,支持二次开发,类Excel的设计器,无论是IT还是业务,上手都很简单:编辑sql优化、数据集复用简直都是小case,大大降低了报表开发的门槛。在企业中被关注最多的数据安全方面,FineReport支持多人同时开发同一套报表,并通过模板加锁功能防止编辑冲突;通过数据分析权限控制,保障数据安全。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/173819.html

(0)
上一篇 2021年9月28日
下一篇 2021年9月28日

相关推荐

发表回复

登录后才能评论