admin 管理员组文章数量: 1086019
2024年1月16日发(作者:mariadb客户端工具)
Java报表功能的三种实现方法邱泸谊,黄俊杰(西华大学计算机技术与软件工程学院,成都610039)摘要院在现代信息化管理系统中,报表担任着非常重要的数据分析和呈现工具的角色。可读性强的报表系统可以把有效的信息转化为直观的图形化界面,方便使用者阅读数据信息,并为决策者提供精准高效的决策依据,从而更好的进行企业市场需求分析和战略部署。随着web技术的发展,B/S架构模式的信息管理系统越来越普遍,它的集成通用,灵活,低成本的报表生成方式是具有实际运用价值的。)及其各自的优缺主要介绍3种主流的报表功能的实现方案(浏览器、组件、拥有设计器的第三方软件点,希望为读者在选择集成报表时提供一定的参考依据。关键词院Java语言;Web技术;报表打印1概述面对管理系统中复杂的数据袁报表作为数据管理工retuminfomations;}步骤三院根据制作报表页面需要的样式遥
报表功能打印袁页头页尾的格式会有页脚页眉干扰袁不能准确的进行页面对齐及打印文字遥并且它只能打印网页同时它还不具有迁移性袁一旦需要新的报表页面袁Web利用浏览器生成报表在不下载其他组件的前提下网页程序将面临大幅度的修改遥还应该注意的是袁只能院支持3组件生成报表HTML打印遥为了能够使系统能够生成Word尧PDF这些可以通过系统输出设备进行规范输出袁一些小组件应运而生了遥这些报表组件由于只是封装了制作报表格式的属性和方法袁例如院生成PDF/word格式袁生成统计图等的方法属性袁没有携带独立的设计器袁所以它们的内存都比较小袁大部分组件都比较容易安装部署遥这一类组件通常是由程序进行控制定义并使用袁对于小型系统的报表设计过程袁利用组件生成报表是最有效方便快捷的遥主要以iText为例袁介绍了如何利用组件自身定义的属性和方法实现打印报表功能遥PDF报表的组件iText是开放袁源它是用程序语言码站点sourceforgeJava所编写的方法集开发的生成成体袁因此它可以适用于大多数的Java开发环境遥用户只需要下载包后袁将文件导入程序编辑器的库中袁最后直接调用组件中的方法袁即可制作报表遥通常使用IText组件生成PDF报表主要有以下5个步骤院步骤一院建立数据库连接遥步骤二院用JavaBean定义相应的数据操作语言袁获取数据集遥步骤三院选取合适的构造函数定义docucom对象袁并初始化文件流对象遥Documnentdocucom=newDoament(Rectanglesize,intleftintright,inttopintbot);.//定义页面的大小以及页面内边距tance(docucom,newFileOut鄄Steam(reportpdf));//将文档内容对象docucom存储在指定的文件//流对象;//打开文件流对象docucomaddTitle("Addtextreoportitle!");//添加//文档标题docucomaddSubject("Addtexttheme!");//添加//文档主题()://关闭文档内容对象1082019.02步骤四院设计报表页面需要的样式遥步骤五院通过在服务器端使用Jsp生成PDF报表袁PC端通过超链接或下载得到生成的报表与浏览器直接实现报表功能的打印相比遥袁虽然还是需要连接数据库传递数据信息袁但是通过iText组件实现报表功能的打印解决了一些直接利用浏览器直接实现报表打印功能无法解决的问题院打印的内容取决于实时的数据库信息曰即使页面过多袁PDF文档也能在无人参与的批处理模式下自动创建遥iText作为一个jar包袁封装了一些对文档内容制作的方法袁功能比较全面袁也减少了制作过程中一些格式的问题袁能够满足信息管理系统实现报表功能打印的一般需求袁使报表内容变得更加容易调整遥的袁因此并不支持中文字体的设置iText组件的缺陷院由于iText并不是中国公司开发袁如果要生成中文输出的报表袁还需要多下载一个的文件袁并通过相应代码定义来实现中文的设置遥这种问题极大地影响了iText在中国报表中的使用遥另一方面iText组件在制作表格和图片中袁都需要大量的代码定义表格和图片的格式遥而在大型信息管理系统的制作过程中袁会涉及到大量报表设计袁并且这些报表样式不尽相同袁在这个时候利用iText组件制作报表在代码量上就显得冗余了4第三方工具生成报表遥随着B/S框架模式的普及和用户报表制作需求的不断上升袁一些方便快捷报表软件大量涌现遥这些报表软件在封装了大量的报表模型和制作报表样式的操作方法的同时袁还具有独立的设计器袁可以通过设计器直接绘制报表模板袁系统再由设计的报表样式自动生成代码遥由于它们对B/S结构的友好度极高袁使得它们的出现极大的减少了开发人员在系统研发时的工作量遥主要以Crystal三方软件实现打印报表功能Reports和FineReport遥为例袁介绍了如何利用第它的优势是实现了与绝大多数主流开发工具的集成和接CrystalReports报表开发工具是由SAP公司开发的袁口遥CrystalReports的安装是在VisualStudio?2013的电脑环境配置下下载CrystalReports,versionforVisualStu鄄dio意的是在应用程序更新的时候袁修改环境变量袁袁进行单独部署由于服务器方案是单独袁值得注安装的袁报表文件是单独部署的袁所以无法同时更新遥
通常使用CrystalReports第三方工具生成PDF报表主要有以下几个步骤院步骤一院在VisualStudio?2013项目下创建rpt文件遥步骤二院连接数据库袁选择push模式和pull模式从数据库中获取相应数据集遥步骤三院在CrystalReports的设计器界面中进行报表样式的设计遥步骤四院对控件进行功能绑定袁例如院某些统计运算袁对数据集的操作渊查询袁删除袁修改袁增加冤遥由于第三方CrystalReports工具设计器设计采用的是控件拖拽式绘制报表袁因此利用它进行报表设计并不需要大量的代码遥在大型企业单位的信息系统设计中袁报表样式总是多样的袁这就意味着需要大量的报表模板遥利用第三方CrystalReports工具生成报表袁使得报表的生成更加方便简洁袁大大减轻了程序员的工作量遥但是同样是因为CrystalReports的设计器设计采用的是控件拖拽式制作报表袁在设计复杂报表的表头时会导致控件排列不整齐等问题的产生遥和iText组件相同袁第三方CrystalReports工具是由国外公司开发的袁不能很好的满足国内报表的复杂样式遥JavaFineReport报表软件是帆软公司开发的一款应用署方式也十分的简便灵活程序设计语言编写的中国式报表控件袁将FineReport遥应用集成到新它的独立部的Web工程把FineReport_8.0安装目录下的WebReport文件拷贝到%/Tocmcat_HOME%webapps/下遥通常使用FineReport软件生成PDF报表主要有以下3个步骤院步骤一院连接数据库袁添加报表需要展示的数据集遥步骤二院设计报表模板袁在空白的表格主设计界面袁将需要的数据源从左侧的数据源面板中拖曳到单元格中袁并定义报表在展示的数据方向袁设置数据的类型袁和单元格之间的关系遥步骤三院插入控件袁并绑定数据集袁保存报表模板遥与CrystalReports设计器采用控件拖拽式绘制报表的方式大相径庭的是FineReport采用的是类Excel的Java大地满足了中国式报表复杂的报表头样式设计报表设计器袁格线对齐的编辑方式袁这样的设计极遥它的控件也因为绑定了数据集袁不会因为拖动而导致程序的失效遥由于软件本身就是参考Excel进行设计的袁所以它天然的支持导入导出Excel袁可以在导入Excel后袁直接利用已经编辑好的报表样式绑定数据袁完成报表制作袁这为报表的设计减轻了工作量遥FineReport还支持从不同数据库提取数据展示遥并且具有回填功能袁这种功能对中国报表的制作有极大的友好度遥但是FineRe鄄port限性对于报表管理权限遥它只提供CS的尧Java用户报表设计器尧门户的运用有很大的局袁不能做到BS的报表设计遥除此之外袁FineReport报表目前不能要解析5xml结语格式数据袁需要使用Java程序数据源遥随着信息时代的发展袁运用信息管理系统办公会成为越来越多工作单位青睐的对象袁而报表的制作也会越来越复杂遥主要介绍了3种实现报表功能打印的方案及优缺点遥第一种是直接使用浏览器生成报表适用于只用在页面上显示只需要HTML打印的小型项目袁第二种是利用组件动态对象生成报表适用于报表样式制作较少的信息管理系统曰第三种是利用第三方控件生成报表适用于报表样式繁多的大型信息管理系统遥参考文献[1]Text丁振凡包实,王小明现Java,报吴小元表打印,邓建明[J].微,周斌型机.与利用应用i鄄,[2]2012,徐志军31(18):84-86.学院学报.Java,2002,报表打印的若干问题(06):84-87.[J].湛江师范[3]王丽萍电脑知识与技术,秦永平.(基于学术交流iText)的,PDF2007,报表设计(08):492-[J].[4]493+574.刘红军览[J].,电脑编程技巧与维护赵海霞.用Servlet实现,2006,Pdf报表的打印和预(01):24-26.[5]电脑知识与技术王晓彬.报表的几种实现方式的探讨(学术交流),2007,(21):640-[J].[6]644+652.邢诒俊表工具的使用与集成,陈亚楠,廖庭悟[J],.陈富节华南金融电脑.FineReport,2009,报[7]17侯金波(09)的应用,:[J]王德群86-87..中国计量.iText,API2008,在计量管理信息系统中(08):97-99.2019.02109
版权声明:本文标题:Java报表功能的三种实现方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1705361961a482657.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论