jasperreport教程:[6]查看和打印报告
的有关信息介绍如下:![jasperreport教程:[6]查看和打印报告](/upload/jingyan/2025/1012/16058b47.jpg)
jasperreport教程:查看和打印报告
报表填充过程JasperPrint对象的输出可以使用内置的浏览器组件来查看,打印或导出到更多的流行的文件格式,如PDF,HTML,RTF,XLS,ODT,CSV或XML。Jasper文件查看和打印将包括在本章中。
查看报表
JasperReport提供了一个内置的浏览器观看原始格式生成的报表。这是一个基于Swing的组件和其他Java应用程序可以无需将文档导出为其他格式,以便查看或打印此集成组件。net.sf.jasperreports.view.JRViewer类表示这个可视组件。这个类也可以被定制为每个应用程序的需要,通过继承它。
JasperReports也有用来查看报表的可视化组件Swing应用程序。此应用程序可以帮助在相同的格式查看报表为*.jrprint就产生了。这个Swing应用程序是在类net.sf.jasperreports.view.JasperViewer实现。要使用此功能,我们可以把这个包成一个Ant目标,以查看报表。
查看生成的报告
下面的示例演示如何查看使用JasperViewer类的报表。
让我们来写一个报告模板。在JRXML文件(C:\tools\jasperreports-5.0.1\test\jasper_report_template.jrxml)的内容如下:
height="15"backcolor="#70A9A9"/> verticalAlignment="Middle"> verticalAlignment="Middle"> height="14"backcolor="#E5ECF9"/> verticalAlignment="Middle"> verticalAlignment="Middle"/> 接下来,让我们通过Java数据对象(Javabean)的集合,到Jasper报表引擎,填补了这一编译报告。 写一个POJODataBean.java表示数据对象(的Javabean)。这个类定义了两个字符串对象name和country。把它保存到目录C:\tools\jasperreports-5.0.1\test\src\ package publicclassDataBean{ privateStringname; privateStringcountry; publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetCountry(){ returncountry; } publicvoidsetCountry(Stringcountry){ this.country=country; } } 编写一个类DataBeanList.java具有业务逻辑生成javabean对象的集合。这是进一步传递到Jasper报表引擎,生成报告。在这里,我们添加在列表中的4个DataBean进行对象。把它保存到目录C:\tools\jasperreports-5.0.1\test\src\com\yiibai. package importjava.util.ArrayList; publicclassDataBeanList{ publicArrayList ArrayList dataBeanList.add(produce("Manisha","India")); dataBeanList.add(produce("DennisRitchie","USA")); dataBeanList.add(produce("V.Anand","India")); dataBeanList.add(produce("Shrinath","California")); returndataBeanList; 写一个主类文件JasperReportFill.java,它从类(DataBeanList)得到的javabean的集合,并将其传递到Jasper报表引擎,填补了报告模板。把它保存到目录C:\tools\jasperreports-5.0.1\test\src\com\yiibai. packagecom.yiibai; importjava.util.ArrayList; importjava.util.HashMap; importjava.util.Map; importnet.sf.jasperreports.engine.JRException; importnet.sf.jasperreports.engine.JasperFillManager; importnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource; publicclassJasperReportFill{ @SuppressWarnings("unchecked") publicstaticvoidmain(String[]args){ StringsourceFileName= "c://tools/jasperreports-5.0.1/test/jasper_report_template.jasper"; DataBeanListDataBeanList=newDataBeanList(); ArrayList JRBeanCollectionDataSourcebeanColDataSource= newJRBeanCollectionDataSource(dataList); Mapparameters=newHashMap(); try{ JasperFillManager.fillReportToFile( sourceFileName, parameters, beanColDataSource); }catch(JRExceptione){ e.printStackTrace(); } } } 让我们来写一个目标viewFillReport的build.xml文件。build.xml文件如下所示: 导入文件-baseBuild.xml环境设置,并应放置在同一目录中的build.xml。 description="Launchesthereportviewer topreviewthereportstoredinthe.JRprintfile."> description="CompilestheJXMLfileand producesthe.jasperfile."> classname="net.sf.jasperreports.ant.JRAntCompileTask"> 接下来,让我们打开命令行窗口并转到build.xml文件放置的目录。最后执行的命令ant-Dmain-class=com.yiibai.JasperReportFill(viewFillReport是默认的目标)。因此,我们看到一个JasperViewer窗口,如下面的屏幕: 查看 1.描述 分页预览即普通预览模式,FineReport的默认预览方式,一般在只需要查看报表数据用于分析的时候使用。 下面我们以内置的GettingStarted.cpt模板为例,来看看分页预览的使用方式以及其一些属性的设置。 2.分页预览 直接打开设计器,双击打开GettingStarted.cpt模板,点击设计器界面上的预览按钮访问报表,如下图: 注:该按钮下有三个预览方式可选:填报预览、数据分析和分页预览,默认方式为分页预览。 点击分页预览之后,在浏览器端就会打开一张报表,如下图: 3.分页预览设置 在设计器中点击模板>模板web属性>分页预览设置,就可以对分页预览界面进行设置,包括报表显示位置、页面和工具栏。 报表打印 1.报表打印机制 各种打印的运行机制,都是选择打印时,先根据报表内容,在服务器的内存中将页面中的内容全部生成完毕,即生成对应格式的对象;然后再由serverlet直接推送给客户端,最后根据选择的打印方式打印出来。 2.报表打印方式 FineReport打印方式分为客户端打印和服务器端打印: 服务器端打印:使用报表应用所在的服务器,连接的打印机进行打印; 客户端打印:使用本地连接的打印机进行打印;又分为Flash打印、PDF打印以及Applet打印。 3.各打印方式的比较 为了更方便理解各打印方式,下面列出现有报表的各打印方式的对比说明。 4.各打印方式的优缺点对比 5.各打印方式的使用 5.1直接使用报表工具栏中的打印按钮 用户系统通常只需要一种打印方式,不需要所有打印方式按钮都显示出来,此时可以自定义报表工具栏。 选择模板>模板web属性>分页预览设置,选择为该模板单独设置,勾选工具栏,双击工具栏上的打印按钮或者选中打印按钮,点击设置(如果工具栏上没有打印按钮,则双击按钮框中的打印按钮,使之添加到工具栏中),选择需要显示的打印方式,如下图: 在各种预览方式旁有编辑工具栏设置按钮,或者在服务器>服务器配置中给所有模板统一设置:



