这段时间一直在研究ireport如何和springmvc结合来实现报表的显示
网上查了很多资料,从各位前辈们的经验下结合自己的心得总结了SpringMVC结合ireport采用javabean作为数据源的实现方式,并总结代码如下:
Ireport采用javabean作为数据源实现数据的载入,对于java中,使用得到的list集合封装到JRBeanCollectionDataSource中来得到数据。最后通过JRHtmlExporter将结果展现给用户。
输出为html格式的设计方案:
@RequestMapping("/customer/reporthtml.do") public void report(HttpServletRequest request, HttpServletResponse response) throws IOException, JRException { String ctxpath = request.getSession().getServletContext() .getRealPath("/report/beandata.jasper"); List<HKCustomer> listInfo = this.hkCustomerService.listAllCustomers(); File reFile = new File(ctxpath); Map parameters = new HashMap();//根据变量来查询 JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listInfo); JasperPrint jasperPrint = JasperFillManager.fillReport( reFile.getPath(), parameters, ds); JRHtmlExporter exporter = new JRHtmlExporter(); //输出为html格式的报表文件 exporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRHtmlExporterParameter.OUTPUT_STREAM,response.getOutputStream()); exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE); //移除设计报表中的空白行 exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING, "utf-8"); exporter.exportReport(); }
输出为execl表格格式
@RequestMapping("/customer/reportxls.do") public void exportxls(HttpServletRequest request, HttpServletResponse response) throws IOException, JRException { String ctxpath = request.getSession().getServletContext() .getRealPath("/report/beandata.jasper"); List<HKCustomer> listInfo = this.hkCustomerService.listAllCustomers(); File reFile = new File(ctxpath); Map parameters = new HashMap(); JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listInfo); JasperPrint jasperPrint = JasperFillManager.fillReport( reFile.getPath(), parameters, ds); JRXlsExporter exporter=new JRXlsExporter(); exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, response.getOutputStream()); exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); /设置输出的格式 response.setHeader("Content-Disposition", "attachment;filename=customer.xls"); response.setContentType("application/vnd_ms-excel"); exporter.exportReport();
设置输出为Pdf格式的文件
@RequestMapping("/customer/reportpdf.do") publicvoid exportpdf(HttpServletRequest request,HttpServletResponse response) throwsJRException, IOException{ Stringctxpath = request.getSession().getServletContext() .getRealPath("/report/beandata.jasper"); List<HKCustomer>listInfo = this.hkCustomerService.listAllCustomers(); FilereFile = new File(ctxpath); Mapparameters = new HashMap(); JRBeanCollectionDataSourceds = new JRBeanCollectionDataSource(listInfo); JasperPrintjasperPrint = JasperFillManager.fillReport( reFile.getPath(),parameters, ds); JRPdfExporterexporter = new JRPdfExporter(); exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT,jasperPrint); exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM,response.getOutputStream()); response.setHeader("Content-Disposition","attachment;filename=customer.pdf"); response.setContentType("application/pdf"); response.setCharacterEncoding("utf-8"); exporter.exportReport(); }
相关推荐
在这个场景中,我们将讨论如何利用javabean作为ireport的数据源来生成报表。首先,我们需要理解javabean和ireport的基本概念。 **javabean** 是Java编程语言中的一种简单对象,遵循一定的规范,通常用于封装数据和...
总结来说,通过iReport使用JavaBean作为数据源,开发者可以灵活地利用业务对象的数据,实现报表的动态生成,特别是在复杂的数据处理和跨系统数据共享的场景下,这种方法显得尤为实用。同时,这也使得报表设计与...
本示例将向你展示如何利用iReport将JavaBean作为数据源,以生成定制化的报告。以下是对这个简单示例的详细解析: 1. **JavaBean作为数据源**:JavaBean是一种遵循特定规范的Java类,它封装了数据并提供了访问这些...
【标题解析】:“ireport利用javabean做数据源实例”这一标题表明我们将探讨如何使用iReport工具,一个用于设计JasperReports报表的开源工具,通过JavaBean对象作为数据源来创建和展示报表。JavaBean是一种符合特定...
本实例将深入探讨如何使用ireport结合javaBean作为数据源来生成报表,帮助初学者快速掌握ireport的使用方法。 【描述】:“一看就会的实例。能够很快上手ireport” ireport因其直观的图形用户界面和强大的报表设计...
2. **配置数据源**: 在ireport中,可以设置JavaBean数据源,指定JavaBean类名和属性映射。 3. **生成.jasper文件**: 保存并编译.jrxml文件,生成.jasper二进制模板。 4. **Java代码集成**: 在Java项目中,加载....
通过以上步骤,你可以成功地在Spring MVC项目中整合iReport,实现动态报表生成和展示。这个过程涉及到XML配置、Java代码编写以及报表设计等多个环节,需要对Spring MVC和报表处理有一定的理解。记得在实际操作中,...
本文档将详细介绍如何使用 IReport 工具,结合 JavaBean 集合作为数据源来创建和导出 PDF 报表。相比于传统的 JDBC 数据源,使用 JavaBean 作为数据源具有更高的灵活性与便捷性。本教程不仅包括了基本的报表设计与...
4. **处理数据源**:报表需要数据来展示,这可以通过JavaBean、Map或者自定义数据源实现。确保中文数据在传递过程中不被编码错误,可以使用UTF-8编码。 5. **生成PDF**:使用`JasperFillManager.fillReport()`方法...
ireport支持多种数据源,包括数据库、XML文件、Java对象(如javabean)等。 2. **jasperreports**:这是Apache软件基金会的一个项目,它是一个强大的报表生成库,能够处理各种类型的输出格式,如PDF、HTML、Excel、...
在这个过程中,我们将深入探讨如何在`iReport`中使用`JavaBean`作为数据源来开发基于`JasperReports`的报表。 首先,我们需要了解`JavaBean`。`JavaBean`是一种符合特定规范的Java类,通常用于封装数据并提供公共...
本知识点主要探讨的是如何在iReport中使用JavaBean作为数据源来填充表格(Table)组件。我们将深入理解这个过程,并结合提供的资源进行详细阐述。 1. **JavaBean数据源的原理** JavaBean是一种符合特定规范的Java...
### iReport中使用JavaBean作为数据源开发JasperReports报表 #### 创建JavaBean 在iReport中使用JavaBean作为数据源来开发JasperReports报表时,首先需要创建一个简单的JavaBean对象来存储数据。以下是一个名为`...
ireport用JRDataSource作为数据源案例源码,详细介绍请移步我主页查阅博客文章。初识ireport的同学可以参考本例子动手试试。 压缩包包含内容: 1.JRDataSource实现java源文件 2.jrxml报表文件
本篇文章将专注于如何在IReport中使用子报表,并结合JavaBean集合作为数据源来生成报告。 首先,理解`子报表`的概念。子报表是报表中的一个区域,它可以独立设计并重复显示主报表中的数据。这样可以将复杂报表拆分...