这段时间一直在研究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(); }
相关推荐
ireport利用javabean做数据源.docx
IREPORT使用JAVABEAN作为报表数据源IREPORT使用JAVABEAN作为报表数据源IREPORT使用JAVABEAN作为报表数据源
iReport使用JavaBean做数据源
iReport使用JavaBean作为数据源——最简单的示例。 包含: 1、Java源文件(JavaBean)。 2、iReport的报表源文件(jrxml)。 3、详细的说明。
简单明了利用javabean做数据源,实现ireport报表功能
spring mvc 整合ireport的过程以及所需要的jar包 按照配置文件进行配置就可以
下载包含程序源码,lib包,ireport创建模板操作文档,说明。程序可以在java myeclipse环境下直接运行。jasperreport版本6.3.1,ireport为5.6.0
一看就会的实例。能够很快上手ireport
Spring MVC整合IReport生成PDF及中文不显示、乱码解决
图示ireport中使用javabean作数据源开发基于jasperreports报表过程
ireport+jasperrepot+javabean实现可视化报表的项目源文件
ireport中使用javabean作数据源开发jasperreports报表的详细过程 附有图片
ireport java sql 报表 javabean与 ireport结合使用
ireport用JRDataSource作为数据源案例源码,详细介绍请移步我主页查阅博客文章。初识ireport的同学可以参考本例子动手试试。 压缩包包含内容: 1.JRDataSource实现java源文件 2.jrxml报表文件
在网上找了很多ireport基于javabean的主子报表配置的文章。要么版本太老,要么无图无真相。对于bean中的子报表集合数据源怎么获取,始终不成功。现经过尝试终于弄明白是怎么回事了,上传以供分享。因从事IT工作,...
利用javabean数据源,ireport入门级普通报表和子报表
本文档包含报表模板以及往模板嵌入一个子报表的全部过程,并包含完整导出PDF的SourceCode