finereport报表设计中模板数据集的sql语句中if的⽤法_1个⼯
具,4个技巧,教你。。。
⽉末⽉初,年末年中,⼀⼤批报表需求涌来。每到这个时候,都觉得⾃⼰的表格技能格外鸡肋,看到任何⼀个N天精通Excel的字眼都格外敏感。
但是,企业⾥批量的报表,爆炸的需求,纵使有再⾼的Excel技能也都招架不住。这时候恨不得有⼤神能写个万能脚本,⼀键搞定报表制作。
当然,万能的代码是没有的,半⾃助化的报表⼯具倒有⼀个——FineReport。
这是⼀个开发⼈员很常⽤的web报表⼯具,使⽤简单,可以轻松制作各种复杂报表,批量⽣成同类型报表。像周报⽉报这种固定报表,做好模板,定时调度可⾃动⽣成。
但是,也有⼈会问,报表样式迥异,很多都很难共⽤⼀张模板,需求多了,做模板也很吃⼒啊。
⼈啊,总是求懒⼼切。这⾥我总结了FineReport制作报表模板的⼏个技巧,⽐如复⽤数据集,复⽤模板组件,能⼤⼤降低重复⼯作量。1.数据集复⽤
FineReport对数据的操作,是将数据从数据库中提取出来作为“数据集”,然后再⽤于报表模板的设计和数据的展现集合。这样做的好处是能将不同数据库中的数据直接整合到⼀起,置于内存的数据处理性能也⽐较快。
在开发报表时经常会遇到需要复⽤已有数据集的情况,⽐如今天提取的⼀个数据集1个⽉前提取过。笨办法就是把以前的数据集打开,复制取数的sql语句,然后复制粘贴,虽然也⽐较费时,但⽐重新输⼊要好很多。
但是其他数据集的复⽤就特别⿇烦了,特别是内置数据集。像模板内置数据集原理就是在模板数据集中新建⼀个类似数据库表的原表,可作为模板的数据源来设计报表。
但是是在原电脑上建⽴的数据库连接,如果换⼀台电脑这个链接就会失效,就看不了模板,这时候就可以直接将该模板的数据集定义成内置数据集或者在制作模板的机器上将该模板输出成内置数据集模板,这样该模板就可以在任何电脑上访问了。
往往我们需要重新构建内置数据集,再重新录⼊数据,可复⽤性为零,在另⼀个模板⾥使⽤其他模板已有的内置数据集就得重新做⼀个。除了费时间,再⼀点就是复⽤时操作太多容易出错,⽽且是不易察觉的错误。
这⾥推荐⼀个⼜快⼜不容易出错的⽅法——notepad++,它的好处体现在两个⽅⾯:
1. 可以直接⽤notepad++打开cpt或者frm(类似于代码的形式),把⾥⾯的数据集部分的代码复制到另外⼀个cpt或者frm⾥,⼀步复制
粘贴就可以完全⽆错地复⽤。
2. 还可以⼀键替换⽤了很多次的模板参数,不需要⾃⼰⼀个个去改,⼗分⽅便。
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语句优化效果链接和插件下载,私信“插件”即可获得
3.单元格部分属性复⽤
他⼭之⽯,可以攻⽟。很多时候我们能在别的模板中看到喜欢的设计,⽐如⽂字配⾊、背景⾊、边框设置、条件属性设置、超链效果等等,然后就想复制过来,但是⼀步步设置⽐较⿇烦,希望能想复制粘贴⼀样简单地操作就能完成,现有的crtl+B可复制格式。
但对于扩展、条件属性、超链、控件等不能实现,直接把全部内容和设置直接复制过来还需要再调整,往往我们只想要复制它众多属性中的⼀个,那么这⾥推荐使⽤⼀款插件——可选择性粘贴,可将单元格的⼀下部分单独粘贴:
元素(插⼊数据列、普通⽂本、富⽂本、公式、图表、⼦报表、图⽚、斜线);
扩展属性(扩展分享、左⽗格、上⽗格、可伸展属性、扩展后排序及排序公式);
样式属性(⾃定义属性、⽂本格式/字体、单元格样式/边框/背景、对齐、换⾏、缩进等);
形态属性(数据字典、条形码、公式形态、⾦额线);
其他属性(⾏⾼列宽调整、插⼊⾏策略、分页设置等);sql语句替换表中内容
控件(⽂本、⽂本域、数字、密码、按钮、复选按钮、⽇期、⽂件等控件);
条件属性(背景、字体、颜⾊、新值、⾏⾼、列宽等条件属性设置);
超级链接(⽹络报表、邮件、⽹页链接、动态参数、JS脚本等);
也可全部粘贴。
粘贴插件详细介绍和下载地址,私信“插件”即可获得
4.决策报表中组件复⽤
决策报表,是专为解决驾驶舱类报表⽽开发的。不同于普通报表设计格⼦式界⾯,FineReport决策报表采⽤了画布式操作界⾯,通过简单的拖拽操作即可帮助⽤户构建强⼤、全⾯的“管理驾驶舱”,在同⼀个页⾯整合不同的企业数据,完美的展⽰企业的各类业务指标,实现数据的多维度分析。决策报表⽂件的后缀格式是frm。
制作⼤屏或驾驶舱时,也可以复⽤已有demo中的整个模块,也可以复⽤其中的组件。
⽐如下⾯这个展⽰项⽬阶段及节点时间的模块,实际上使⽤了好⼏⼗个控件叠加起来才可以有这样的显⽰效果。如果要⾃⼰⼀个⼀个叠加实现需要花费⾮常⾮常多的时间和精⼒才能做好,⽽且还需要不断调试组建的⼤⼩和相对位置。
但frm⾥⽀持对多个组件的同时复制粘贴,并且可以⼀起放缩⼤⼩,保持整体⽐例和和各组件相对位置不变。
FineReport提供了组件云端共享和本地复⽤功能。帆软官⽅将收集到的优秀 demo上传到云端共享中⼼,⽤户可根据需要,⾃⾏下载⾃⼰喜欢的 demo,并应⽤到⾃⼰的决策报表之中,既节省了⼈⼒⼜做出了好看的报表。此外,组件还⽀持本地复⽤,对任意选中的组件通过键盘可以进⾏复制、剪切、粘贴,⽀持在同⼀个报表模板内复⽤, 也⽀持在不同的报表模板间复⽤。
最后,⼀句话总结。对于复杂⾼频的报表,尤其是企业报表需求,使⽤专⽤的报表⼯具,再掌握⼀些提⾼效率的技巧,绝对事半⼯倍。
想知道更多关于FineReport,请点击下⽅“了解更多”

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。