月末月初,年末年中,一大批报表需求涌来。每到这个时候,都觉得自己的表格技能格外鸡肋,看到任何一个N天精通Excel的字眼都格外敏感。
但是,企业里批量的报表,爆炸的需求,纵使有再高的Excel技能也都招架不住。这时候恨不得有大神能写个万能脚本,一键搞定报表制作。
当然,万能的代码是没有的,半自助化的报表工具倒有一个——FineReport。
这是一个开发人员很常用的web报表工具,使用简单,可以轻松制作各种复杂报表,批量生成同类型报表。像周报月报这种固定报表,做好模板,定时调度可自动生成。
但是,也有人会问,报表样式迥异,很多都很难共用一张模板,需求多了,做模板也很吃力啊。
人啊,总是求懒心切。这里我总结了FineReport制作报表模板的几个技巧,比如复用数据集,复用模板组件,能大大降低重复工作量。
1.数据集复用
FineReport对数据的操作,是将数据从数据库中提取出来作为“数据集”,然后再用于报表模板的设计和数据的展现集合。这样做的好处是能将不同数据库中的数据直接整合到一起,置于内存的数据处理性能也比较快。
在开发报表时经常会遇到需要复用已有数据集的情况,比如今天提取的一个数据集1个月前提取过。笨办法就是把以前的数据集打开,复制取数的sql语句,然后复制粘贴,虽然也比较费时,但比重新输入要好很多。
但是其他数据集的复用就特别麻烦了,特别是内置数据集。像模板内置数据集原理就是在模板数据集中新建一个类似数据库表的原表,可作为模板的数据源来设计报表。
但是是在原电脑上建立的数据库连接,如果换一台电脑这个链接就会失效,就看不了模板,这时候就可以直接将该模板的数据集定义成内置数据集或者在制作模板的机器上将该模板输出成内置数据集模板,这样该模板就可以在任何电脑上访问了。
往往我们需要重新构建内置数据集,再重新录入数据,可复用性为零,在另一个模板里使用其他模板已有的内置数据集就得重新做一个。除了费时间,再一点就是复用时操作太多容易出错,而且是不易察觉的错误。
这里推荐一个又快又不容易出错的方法——notepad++,它的好处体现在两个方面:
可以直接用notepad++打开cpt或者frm(类似于代码的形式),把里面的数据集部分的代码复制到另外一个cpt或者frm里,一步复制粘贴就可以完全无错地复用。
还可以一键替换用了很多次的模板参数,不需要自己一个个去改,十分方便。
2.编辑sql优化
FineReport是通过写sql来提取数据的。
一般来说,我们取数都是从其他地方获取测试有效的sql语句粘贴到finereport中,比较麻烦。而设计器内部的sql编辑器没有智能设置,且显示区域较小,缺乏像navicat等自动联想、自动检测错误等人性化功能,导致开发报表时在设计器内部直接编写sql语句很麻烦,并且finereport内置的函数和数据库的函数还有所区别。
这个时候就可以安装一款“高级数据库查询”插件,该插件提供了简化sql输入、无缝对接sql可视化编辑工具的能力。
支持数据权限管理,方便之余更能兼顾安全;
支持语法提示、自动补全(支持补齐字段名)和代码美化,让具有不同sql代码编写习惯的开发者也能便捷地熟悉对方的代码;
在sql中加入帆软公式支持;
支持可视化的sql builder,傻瓜式操作,通过简单拖拽就能完成sql编写,让没有sql基础的业务人员也能完成简单的sql编写,大大降低了报表开发的门槛。
对比
默认sql编辑窗口:固定大小,代码无法自动美化:
高级数据库查询:可全屏展现,自动美化代码:
SQL语句优化效果链接和插件下载,私信“插件”即可获得
3.单元格部分属性复用
他山之石,可以攻玉。很多时候我们能在别的模板中看到喜欢的设计,比如文字配色、背景色、边框设置、条件属性设置、超链效果等等,然后就想复制过来,但是一步步设置比较麻烦,希望能想复制粘贴一样简单地操作就能完成,现有的crtl+B可复制格式。
但对于扩展、条件属性、超链、控件等不能实现,直接把全部内容和设置直接复制过来还需要再调整,往往我们只想要复制它众多属性中的一个,那么这里推荐使用一款插件——可选择性粘贴,可将单元格的一下部分单独粘贴:
元素(插入数据列、普通文本、富文本、公式、图表、子报表、图片、斜线);
扩展属性(扩展分享、左父格、上父格、可伸展属性、扩展后排序及排序公式);
样式属性(自定义属性、文本格式/字体、单元格样式/边框/背景、对齐、换行、缩进等);
形态属性(数据字典、条形码、公式形态、金额线);
其他属性(行高列宽调整、插入行策略、分页设置等);
控件(文本、文本域、数字、密码、按钮、复选按钮、日期、文件等控件);
条件属性(背景、字体、颜色、新值、行高、列宽等条件属性设置);
超级链接(网络报表、邮件、网页链接、动态参数、JS脚本等);
也可全部粘贴。
粘贴插件详细介绍和下载地址,私信“插件”即可获得
4.决策报表中组件复用
决策报表,是专为解决驾驶舱类报表而开发的。不同于普通报表设计格子式界面,FineReport决策报表采用了画布式操作界面,通过简单的拖拽操作即可帮助用户构建强大、全面的“管理驾驶舱”,在同一个页面整合不同的企业数据,完美的展示企业的各类业务指标,实现数据的多维度分析。决策报表文件的后缀格式是frm。
制作大屏或驾驶舱时,也可以复用已有demo中的整个模块,也可以复用其中的组件。
比如下面这个展示项目阶段及节点时间的模块,实际上使用了好几十个控件叠加起来才可以有这样的显示效果。如果要自己一个一个叠加实现需要花费非常非常多的时间和精力才能做好,而且还需要不断调试组建的大小和相对位置。
但frm里支持对多个组件的同时复制粘贴,并且可以一起放缩大小,保持整体比例和和各组件相对位置不变。
FineReport提供了组件云端共享和本地复用功能。帆软官方将收集到的优秀 demo上传到云端共享中心,用户可根据需要,自行下载自己喜欢的 demo,并应用到自己的决策报表之中,既节省了人力又做出了好看的报表。此外,组件还支持本地复用,对任意选中的组件通过键盘可以进行复制、剪切、粘贴,支持在同一个报表模板内复用, 也支持在不同的报表模板间复用。
最后,一句话总结。对于复杂高频的报表,尤其是企业报表需求,使用专用的报表工具,再掌握一些提高效率的技巧,绝对事半工倍。
相关推荐
1. 办公软件应用:熟练掌握Word、Excel、PowerPoint等基本办公软件,用于编写报告、制作报表、设计演示文稿等。 2. 沟通技巧:有效传达信息,理解和回应他人的需求,处理人际关系,解决冲突。 3. 时间管理:合理规划...
内容概要:本文详细介绍了利用Matlab及其Yalmip工具箱,结合Gurobi求解器,实现多用户(如工业园区内的多个工厂)储能电站的日前经济调度优化。主要内容涵盖模型建立、变量定义、目标函数设定、约束条件配置以及求解过程。文中通过具体的代码实例展示了如何根据分时电价和各用户的用电需求,制定最优的储能充放电计划,从而达到降低总体电费的目的。此外,还讨论了一些常见的实现细节和技术难点,如充放电效率的正确处理、初始荷电状态(SOC)的设定等。 适合人群:具有一定编程基础并对电力系统优化感兴趣的工程师或研究人员。 使用场景及目标:适用于希望减少电费支出并提高能源利用效率的企业或机构。通过学习本文提供的方法,能够掌握如何构建和求解类似的优化问题,进而应用于实际工程项目中。 其他说明:文中提到的技术手段不仅限于储能调度,还可以扩展到其他类型的资源分配问题。对于想要深入了解优化理论及其工程应用的人来说,这是一个很好的入门案例。
OFDR分布式传感python代码 包括激光器远程控制 数据解调 这个是一个基于 PC 端的 **OFDR 系统(Optical Frequency Domain Reflectometry,光学频域反射测量)服务端程序**,主要用于控制光纤分布式传感实验中的硬件设备、采集数据并进行初步处理。 以下是该仓库的主要内容与功能总结: --- ### **项目功能简介** 该项目是一个 PC 端服务程序,用于实现 **光纤频域反射测量(OFDR)系统** 的控制和数据采集功能。其核心用途包括: 1. **与实验设备通信**: - 控制波长扫描光源(如 Santec、Yokogawa 等); - 控制 DAQ(数据采集卡,如 Advantech PCIE-1840); - 通过串口与其他设备通信(如温控模块)。 2. **数据采集与同步控制**: - 启动光源扫描; - 通过触发机制同步采集数据; - 采样数据存储为二进制或文本格式,供后续分析。 3. **图形化界面(GUI)操作**: - 使用 Qt 框架实现基本的图形界面,支持设备配置、参数设置、采集控制等功能。 4. **数据处理与显示**: - 实现基本的 FFT 处理; - 可视化信号波形; - 有部分代码实现数据的预处理和拟合操作。 OFDR 光线分布式传感 光频域反射技术 python
内容概要:本文详细介绍了使用西门子S7-1200 PLC及其485信号板通过Modbus RTU协议控制步进电机的方法。主要内容涵盖硬件配置、关键程序代码、数据处理方法以及常见的调试技巧。文中提供了具体的梯形图代码示例,如初始化Modbus主站、主站轮询、数据指针配置等,并针对实际应用中可能出现的问题给出了详细的解决办法,例如波特率和校验位的正确设置、数据传输时的字节交换处理、通信超时等问题。此外,还强调了硬件连接的重要性,如正确的485接线方式和终端电阻的使用。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些需要使用PLC进行设备控制并熟悉西门子博途软件平台的用户。 使用场景及目标:帮助读者掌握利用西门子S7-1200 PLC和Modbus RTU协议控制步进电机的具体实现步骤,提高系统的可靠性和稳定性。适用于工厂自动化生产线、机械设备控制等领域。 其他说明:文中提到的一些细节问题(如波特率的实际值、校验方式的选择等)对于初次接触此类项目的开发者来说非常有价值。同时,作者还分享了一些实用的小贴士,如使用抓包工具来辅助调试,这有助于加快项目进度并减少不必要的麻烦。
3dmax插件
gugeliulanqi
121311_基于MATLAB的混沌序列图像加密程序.doc
3dmax插件
内容概要:本文详细介绍了四相开关磁阻电机在Maxwell和Simplorer联合仿真中的优化技巧和波形分析方法。首先,在Maxwell中,绕组匝数设置避免使用整数,正确选择磁滞回线模型,确保材料定义无误。其次,在Simplorer中,精确设置PWM生成模块的角度区间触发逻辑,防止因不合理设置导致转矩抖动。文中还强调了联合仿真过程中需要重点关注的三个波形:相电流波形、转矩波形以及径向力波形,并提供了针对不同波形异常的具体解决方案。此外,文章分享了一些实用的仿真加速技巧,如调整仿真步长、手动设置气隙网格层数等。最后,通过实例展示了如何利用FFT分析转矩脉动,并提出了降低转矩脉动的有效措施。 适合人群:从事电机设计、电磁场仿真及相关领域的工程师和技术人员。 使用场景及目标:帮助用户掌握四相开关磁阻电机联合仿真的关键技术要点,提高仿真效率和准确性,减少实验成本,为实际产品开发提供理论支持和技术指导。 其他说明:文章不仅涵盖了详细的仿真步骤和技术细节,还包括了许多基于实践经验得出的小贴士,有助于读者更好地理解和应用相关知识。
内容概要:本文详细介绍了基于信捷PLC和触摸屏的伺服自立袋灌装旋盖设备及其全自动转盘式整机程序实例。文章首先阐述了项目的背景与需求,强调了设备需要实现高效、精准的灌装和旋盖操作,并确保自动化运行。其次,详细描述了电气图的设计,涵盖PLC的输入输出连接、伺服驱动器与电机的连接、传感器的接入以及触摸屏与PLC的通讯线路等。然后,展示了信捷PLC程序的具体实现,包括梯形图语言编写的灌装量控制程序片段,解释了各个指令的功能和流程。接下来,讨论了触摸屏程序设计,描述了如何通过触摸屏进行参数设置和设备状态监控。最后,总结了整个系统的实现过程,强调了各个环节之间的紧密联系,确保设备的稳定、高效运行。 适合人群:从事自动化设备编程的技术人员,尤其是对PLC编程和触摸屏应用有一定基础的人群。 使用场景及目标:适用于需要开发或优化类似自动化设备的企业和技术团队,旨在提高设备的自动化程度和工作效率,减少人工干预,确保生产过程的稳定性和准确性。 其他说明:文中不仅提供了详细的程序代码和电路图,还分享了许多调试经验和实用技巧,有助于读者更好地理解和应用相关技术。
模块化代码,多个工程
1.6 技能提升:设计一份个人简历.rp
VS2010旗舰版的VB.NET版本任意进制互相转换程序源代码QZQ
内容概要:本文深入研究了基于深度强化学习(DRL)的微网储能系统控制策略。首先介绍了微网系统的组成及其特性,重点探讨了光伏发电、储能系统和负荷系统的关键组件数学模型。接着详细描述了Simulink仿真设计实现,包括微网环境模拟类(MicrogridEnv)、双重深度Q网络(Double DQN)算法的实现以及训练过程。为了验证该方法的有效性,文章还进行了对比实验,分别测试了规则策略、传统优化方法和DDQN策略的表现。实验结果显示,DDQN策略在成本节约、SOC合规率等方面明显优于其他两种方法。最后,本文提出了创新点与贡献总结,包括仿真-学习一体化框架、改进的DRL算法以及多维度验证,并展望了后续研究方向如多时间尺度优化、多能源协同、不确定性处理等。 适用人群:从事电力系统、微网技术研究的专业人士,以及对深度强化学习应用于能源领域感兴趣的科研人员和工程师。 使用场景及目标:①掌握微网储能系统的基本构成与工作原理;②理解如何利用深度强化学习优化微网储能控制策略;③学习具体的算法实现细节,包括环境搭建、DDQN算法实现和训练流程;④对比不同控制策略的效果,评估DDQN策略的优势。 其他说明:本文不仅提供了理论分析和技术实现,还展示了详细的实验验证过程,通过具体的实验数据证明了所提方法的有效性。此外,文中提及的多种改进措施和技术细节对于实际工程项目具有重要的参考价值。阅读本文有助于读者全面了解微网储能控制领域的最新进展,为相关研究和技术开发提供有益的指导。
NET_ORM框架_多数据库支持_复杂数据模型_自动数据库架_1744170807.zip
3dmax插件
内容概要:本文详细介绍了利用MATLAB/Simulink构建的一个24小时微电网仿真模型,涵盖了柴油机、光伏发电、风力发电和V2G(车辆到电网)四个主要组成部分。文中探讨了各个组件的工作原理及其相互之间的协作机制,特别是在应对功率波动时的表现。具体来说,柴油机作为基荷电源,通过精确的转速控制确保稳定的电力供应;光伏和风力发电则引入了随机性和不确定性因素,如天气突变和风速波动,增加了仿真的真实性;V2G部分展示了电动汽车如何根据电网需求进行智能充放电调度,尤其在应对突发情况时表现出色。此外,文章还提到了一些常见的仿真错误及解决方法,强调了参数设置的重要性。 适合人群:对微电网仿真、V2G技术和MATLAB/Simulink有一定兴趣的研究人员和技术爱好者。 使用场景及目标:适用于希望深入了解微电网内部运作机制的人士,尤其是那些想要研究不同类型能源如何协同工作的专业人士。通过本案例的学习,读者能够掌握如何构建复杂的电力系统仿真模型,并理解各种能量来源在实际应用中的行为特征。 其他说明:文中提供了大量具体的代码片段和参数配置建议,有助于读者更好地理解和复现实验结果。同时,作者分享了一些实践经验,如如何处理数据归一化、避免单位换算错误等,对于初学者非常有帮助。
内容概要:本文详细介绍了蓝桥杯嵌入式比赛的背景、赛制、硬件平台及软件环境,并着重分析了嵌入式客观题的重要性、考试范围及重点内容。蓝桥杯嵌入式比赛采用封闭、限时的比赛方式,硬件平台为STM32G431RBT6,软件环境涉及STM32CubeMX和MDK535。客观题占总分的15%,虽占比不大但每分关键,能影响最终排名和选手心态。考试范围涵盖模电、数电、单片机及STM32数据手册,具体包括放大器、逻辑门电路、寄存器配置等内容。文中通过真题示例与解析,阐述了答题技巧,如先易后难、排除法、注意细节及利用数据手册。备考建议包括选择合适的教材、官方资料和在线课程,建立知识体系,理论与实践结合,总结归纳错题,并合理规划时间。; 适合人群:对嵌入式开发感兴趣并准备参加蓝桥杯嵌入式比赛的学生或爱好者。; 使用场景及目标:①帮助参赛者了解蓝桥杯嵌入式比赛的赛制和要求;②指导参赛者掌握客观题的答题技巧;③提供详细的备考建议,帮助参赛者系统学习和复习相关知识。; 其他说明:嵌入式开发是一门实践性很强的学科,本文强调理论与实践相结合的学习方法,鼓励参赛者通过实验加深理解。同时,合理的时间规划和错题总结有助于提升学习效果。最后,文章表达了对参赛者的祝福和支持,希望他们在比赛中取得优异成绩。
生态环境物联网AI精细化监测监管系统.doc
内容概要:本文详细介绍了如何利用WinCC自带工具和控件实现零代码的报表生成功能,涵盖日报表、月报表及时段报表的配置方法。主要内容包括:使用WinCC Report Control控件生成日报表,通过VBS脚本处理累计值和差分计算,利用内置函数如DateSerial和TimeInfo处理特殊日期问题,以及通过动态配置和性能优化提高报表生成效率。此外,还提供了避坑指南,确保配置过程中少走弯路。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对WinCC报表功能有一定了解并希望进一步掌握零代码配置技巧的人群。 使用场景及目标:适用于需要定期生成生产报表的企业,帮助工程师快速高效地完成报表配置,减少对SQL和数据库的依赖,降低配置难度,提高工作效率。 其他说明:文中提供的代码片段和配置步骤经过多个WinCC版本测试,确保兼容性和稳定性。同时,强调了配置完成后进行模拟测试的重要性,以确保报表的正确性和完整性。