基于
JavaReport的Web报表开发[8]--代发表论文|论文征稿
下面给出一个Servlet报表开发的详细模板,以供参考。Servlet报表开发模板importjavax.servlet.http.*;importcom.javareport.beans.*;publicclassTemplateextendsWebReportEngine{*这是报表
系统在应用中给开发人员的
JSP模板文件,可以根据需要调整接口内容。部分函*数可以适当删除。在开发中一般是实现createReport()函数就可以,形成实时动态报表*就是在这个函数里实现的。剩下的
工作(怎样在Web上显示,怎样形成Work,PDF文件等)*交给报表引擎自动实现。
/***建立报表,返回报表的实例。这个报表实例可以在Web上显示,同时也可以导出Word,Excel,*PDF,CSV,
HTML等格式的
文档供使用。*/publicReportcreateReport(HttpServletRequestrequest)throwsException{Reportreport=newReport();report.addText("Thisisatemplate!");returnreport;}/***这是对上一个页面Form提交的参数进行检查,由于实时报表需要动态的参数,在这里进*行数据校验。*返回值为null时代表通过,其他内容则为参数错误的提示信息。*/publicStringvalidate(HttpServletRequestrequest){returnnull;}
/***这是报表在Web上显示时,内容显示出来前执行的脚本,脚本内容一般为JavaScript脚*本或
VBScript脚本。*返回值为null时代表通过没有脚本内容。*/publicStringgetStartScript(HttpServletRequestrequest){returnnull;}/***这是报表在Web上显示时,内容显示出来后执行的脚本,脚本内容一般为JavaScript脚*本或VBScript脚本。*返回值为null时代表通过没有脚本内容。*/publicStringgetEndScript(HttpServletRequestrequest){returnnull;}/***这是报表在Web上显示时,上面的工具栏为标准的样式(上下翻页,导出文件)。可以在*此扩展工具栏的内容,一般可以添加公司主页的链接,返回上一层链接的“返回”按钮就是*在这里添加脚本的。*返回值为null时代表不添加内容。*/publicStringgetToolbarScript(HttpServletRequestrequest){returnnull;}/**
http://www.lwbst.com/NewsView.do?newsID=6195[2010-09-2610:32:18]
基于JavaReport的Web报表开发[8]--代发表论文|论文征稿*这是报表在Web上显示时,如果不想让工具栏显示出来,就让函数的返回值就false就可以。*注意:如果是多页报表,上下翻页按钮就无法使用。*/publicbooleanisShowToolbar(){returntrue;}
/***这是报表在Web上显示时,导出文件的按钮可以自定义,比如应用中只要导出PDF文件,*其他的不需要,就可以这里设定。按钮值从Work按钮开始是(1,2,4,8,...),需要*显示的按钮则将它们的值相加就可以了。*/publicintgetAllEchoButton(){return0xFFFF;}%>
在前一节中,使用
word工具来辅助制作和打印报表,可发现代码冗长,不方便
程序员阅读,而且修改比较麻烦,需要在word中重新制作再生成报表模板,jsp中的程序代码又必须重新找到合适的位置以放入其中。为简化这个开发过程,并拓展功能,出现了一些第三方的专门用于Web报表开发组件,如jasperreport,它把报表的模板生成作为一个XML文件保存,根据这个模板再用少量的Java代码即可生成复杂的报表,并可导出成PDF、HTML等格式,然而它是国外的第三方组件,对中文支持不够,且其开发手册需要付费。为此,本书介绍一款国产的第三方组件——JavaReport,它由伟才工作室开发,这个组件简单易用,只须编写少量的代码即可开发出复杂的报表和图形,中文支持较好,较为实用。JavaReport可从网上
免费下载得到,网址如下:http://www.javareport.com.cn/downl
oad.htm一、JavaReport介绍JavaReport主要有如下优点。(1)支持实时的、动态的Web统计报表JavaReport所展示的报表是动态的报表。所有的数据都是实时的数据;所有的统计图也是动态生成的。报表里面的数据源可从数据库中即时
查询产生,适合于对实时统计要求高的应用系统。(2)接口丰富,对图表提供良好的支持JavaReport提供了丰富的应用程序接口、减少代码复用、灵活的图表形式、即时图表生成、更短的生成时间等。Java报表对图表有良好的支持,可以生成柱图、饼图和折线图等十几种图表。(3)报表可导出成各种格式的文档JavaReport在报表展现方面表现优异,能实现Word,Excel,PDF,CSV等格式精确导出等功能,并提供了全部的页面与打印控制。(4)开发简便,程序员只须编写少量程序代码有许多的
问题在JavaReport组件内已经解决,如报表的导出功能、打印功能和数据的分页处理等。在很多B/S结构体系的系统开发时,分页是开发过程中要重点考虑的问题。但在JavaReport中,就不需要考虑上下翻页,跨页分页,因为这些问题报表引擎已经实现了。在
设计报表的过程中,把Report类当作容器类,统计图类,表格类,标签类,图片类等,把它们当作组件类。至于跨页分页,上下翻页由报表引擎自动完成。JavaReport系统中有自动跨页分页的功能,当表格超过当前页的大小时,系统会自动把接着部分放到下一页。报表设计在开发过程中是感觉不到要跨页的存在,只有一个全部数据完整的表格对象。如果把引入图片文件加入到报表中,可使用报表系统的Report类,通过这个类的addImage()方法把Image对象加进来,如果需要自定义图像,可通过第三方画图程序(例如是JFreeChart程序)生产需要的统计图/图片,然后再把图像加到报表中去。本书中使用的JavaReport版本是V3.0,JavaReport根据客户的应用需要,按照功能和性能的等级,分成三个版本:专业版,服务器版,企业版。本书使用企业版。JavaReport三个版本产品都是免费使用的。也就是说这三个版本都不需要购买License许可,可以自由使用JavaReport的所有功能。免费提供报表在Web展示功能,表和图怎样混合功能,跨页分页功能,导出电子文