JasperReports终极指南 第4章 处理生成的报表

4 处理生成的报表:
报表填充后的输出文档是一个JasperPrint对象。JasperPrint对象可以被序列化保存、在网络上传输、用内置的查看器组件来查看,打印或导出为更常见的文档格式:pdf、html、rtf、xls、odt、csv、xml。

4.1 加载并保存生成的报表
4.1.1 JasperPrint对象被序列化并保存到硬盘后,通常为一个*.jrprint文件。

4.1.2 使用JRSaver类可以把JasperPrint对象保存为*.jrprint文件或byte流。使用JRLoader类可以把*.jrprint文件或byte流加载为JasperPrint对象。

4.1.3 JRLoader类中包含了从文件、URLs、输入流、或classpath资源中加载序列化对象的各种方法。它的loadObjectFromLocation(String)方法会根据所提供的String位置,尝试从URL、文件名、或classpath资源中加载对象,如果这些都失败了,就会抛出一个错误。

4.1.4 通过JRXmlExporter可以把JasperPrint对象导出为XML文件,建议使用的文件扩展名为*.jrpxml。通过JRPrintXmlLoader可以把XML文件解析为JasperPrint对象。

4.2 查看报表
4.2.1 JasperReports提供的JRViewer是一个基于Swing的可视化组件,可以用于查看JasperReports生成的报表(JasperPrint对象),也可以用于查看通过内部的XML exporter生成的XML格式的报表。可以通过继承JRViewer来定制满足特定应用程序需求的查看器。例如,你可以在现有工具栏上添加或删除按钮。

4.2.2 JasperReports还提供了一个简单的Swing应用程序JasperViewer,用于查看保存在硬盘上的*.jrprint格式的报表,或者查看由默认的XML exporter生成的jrpxml格式的报表。

4.3 打印报表
4.3.1 可以使用依赖于之前的Java2打印API的装饰类JasperPrintManager,来打印JasperReports生成的文档(JasperPrint对象)。在JasperPrintManager公开的各种方法中,有些允许打印整个文档、单个页面或页面范围、显示或不显示打印对话框。
以下是打印整个文档且不显示标准打印对话框的示例:
JasperPrintManager.printReport(myReport, false);
以下是在显示标准打印对话框后,打印从第5页到第11页文档的示例:
JasperPrintManager.printPages(myReport, 4, 10, true);

4.3.2 JRPrintServiceExporter实现类使用JDK 1.4引进的Java打印服务API,使应用程序可以使用搜索到的适合网络打印机名或页面大小等属性的打印服务器来打印JasperReports报表。

4.4 导出报表
4.4.1 在net.sf.jasperreports.engine.export包中可以找到exporter的各种实现类,用于导出pdf、html、rtf、xls、odt、csv、xml格式的报表。

4.4.2 JasperReports中有一个装饰类JasperExportManager,可以用于把报表填充后生成的文档(JasperPrint对象)导出为pdf、html、xml格式。
以下是把报表导出为html格式的示例:
JasperExportManager.exportReportToHtmlFile(myReport);

4.4.3 如果要把报表导出为JasperReports不支持的其它格式,你必须实现JRExporter接口,或继承相应的JRAbstractExporter类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JasperReports 6 和 JasperReports 3.5 的报表设计器和引擎之间存在一些区别。以下是它们的主要区别: 1. 报表设计器:JasperReports 6 引入了新的报表设计器 Jaspersoft Studio,替代了 JasperReports 3.5 中使用的 iReport。Jaspersoft Studio 是一个基于 Eclipse 的报表设计器,提供了更多的功能和改进,包括可视化编辑器、图形化界面、更多的报表元素和组件等。 2. 功能增强:JasperReports 6 的报表设计器相对于 JasperReports 3.5 的 iReport,在功能和用户体验方面有所增强。例如,Jaspersoft Studio 提供了更丰富的报表元素、更灵活的数据绑定选项、更强大的样式编辑器等。 3. 报表引擎:JasperReports 6 引入了新的报表引擎,该引擎对于大规模报表生成处理提供了更好的性能和稳定性。它还引入了一些新的特性和改进,例如增强的导出选项、更好的图表和图形支持、更高效的内存管理等。 4. 兼容性:JasperReports 6 的报表设计器和引擎与 JasperReports 3.5 不完全兼容。因此,如果你计划升级到 JasperReports 6,你可能需要更新你的报表模板和代码,以适应新的格式和 API。 需要注意的是,具体的区别和改进可能因具体版本而有所不同。建议查阅 JasperReports 的官方文档或迁移指南,以获取更详细的信息和具体的升级步骤。此外,升级之前建议进行充分的测试,以确保你的应用在新版本下能够正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值