`
dreamoftch
  • 浏览: 492777 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用 jasperreport 来打印报表

阅读更多
		SessionUser user=SessionHelper.getSessionUser();
		userid=user.getId();
		List<StoreOrder> storeOrders=settlementService.printStoreOrders(userid);
		if (storeOrders!=null &&storeOrders.size()>0) {
			for (int i = 0; i < storeOrders.size(); i++) {
				StoreOrder storeOrder=storeOrders.get(i);
				Order order=storeOrder.getOrder();
				ordermoney=ordermoney.add(order.getAmount());
				paymoney=paymoney.add(storeOrder.getMallMoney());
				freight=freight.add(order.getFreight());
			}
			List<ViewReimbursement> vList=settlementService.loadReimbursements(userid);
			if (vList!=null &&vList.size()>0) {
				for (int i = 0; i < vList.size(); i++) {
					ViewReimbursement v=vList.get(i);
					ReimbursementItem reimbursementItem=v.getReimbursement();
					realBackMoney=realBackMoney +reimbursementItem.getRealBackMoney();
				}
			}
			settlement=ordermoney.add(freight).subtract(paymoney).subtract(new BigDecimal(realBackMoney));
		}
		// 设置页面参数
				Map paraMap = new HashMap();
				// 设置明细list
				JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(storeOrders);
				
				
				try {
					InputStream is = this.getClass().getClassLoader().getResourceAsStream("/Settlement.jrxml");
					JasperDesign jasperDesign = JRXmlLoader.load(is);
					JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
					paraMap.put("ordermoney",ordermoney);
					paraMap.put("paymoney",paymoney);
					paraMap.put("settlement",settlement);
					paraMap.put("realBackMoney", realBackMoney);
					paraMap.put("freight", freight);
		            // 写入报表
		            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, paraMap, ds);
		            
		            
		            HttpServletResponse resp = ServletActionContext.getResponse();
		            JRExporter exporter = new JRPdfExporter();
					resp.reset();
					resp.setContentType("application/pdf;UTF-8");
					resp.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode("settlementList", "UTF-8") + ".pdf\"");
					
					OutputStream ouputStream = resp.getOutputStream();
					
					// 使用JRPdfExproter导出器导出pdf
					exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
					exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");     
					exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
					exporter.exportReport();
					
					ouputStream.flush();
					ouputStream.close();
					
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	
 
分享到:
评论

相关推荐

    JasperReport+iReport报表工具

    JasperReport和iReport是Java平台下用于生成报表的工具,它们在企业应用开发中扮演着重要的角色,尤其是在报表的生成、展现和打印方面。JasperReport是一种报表引擎,它能够解析.jasper文件并将其呈现到用户界面中,...

    JasperReport报表设计总结

    总的来说,JasperReport通过其灵活的报表设计、丰富的数据源支持和便捷的显示打印机制,为Java开发者提供了强大的报表解决方案。合理利用iReport工具和JRDataSource接口,可以有效提升报表开发效率,实现复杂业务...

    Jasperreport 客户端打印例子

    **JasperReport客户端打印...总之,JasperReport的客户端打印功能使得用户可以在本地环境中自由地管理和打印报表,提高了用户体验。通过熟练掌握相关API和技巧,开发者可以灵活地构建满足各种需求的报表打印解决方案。

    使用JasperReport输出image图像

    标题“使用JasperReport输出image图像”涉及到的关键技术点是JasperReport的图像生成和导出功能。在描述中提到的场景是,一个项目需要在文档中添加可识别的元素,比如条形码,然后将包含这些元素的文档作为图像保存...

    jasperReport客户端打印。

    因此,虽然Applet在过去的JasperReport客户端打印方案中很常见,但现在可能需要考虑其他替代方案,如使用Java Web Start或Web服务来实现客户端打印。 总之,JasperReport结合Applet提供了在客户端进行打印的功能,...

    JasperReport+iReport报表开发手册.zip

    JasperReports 是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换 ...oriented),准备付诸打印的文档。总的而言,JasperReports 主要分成三个部分,包括数据报表 设计、数据填充与数据报表导出。

    JasperReport windows linux 后台打印实例 无需dll

    在JasperReport中,我们可以使用Java API来实现后台打印,例如使用`JasperRunManager.runReportToPdfFile()`或`JasperPrintManager.print()`方法。这些方法可以接收JasperReport文件的路径、数据源以及打印设置等...

    JasperReport+Servlet Web应用之:打印预览

    **JasperReport与Servlet在Web应用中的打印预览** JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序、Web应用甚至独立的Java应用程序中创建复杂的报告。Servlet是Java Web开发中的一个重要组件,...

    基于jasperreport的java报表组件

    本文将详细介绍如何利用JasperReport和iReport来创建动态的Java报表组件,并探讨其主要优点和使用方法。 1. **JasperReport简介** JasperReport是一个用Java编写的报表库,它可以生成PDF、HTML、XLS、CSV等多种...

    jasperreport excel报表打印

    ### jasperreport与Excel报表打印知识点 #### 一、JasperReports简介 JasperReports是一款开源的报表工具,主要用于创建复杂、美观的报表,并能够从各种数据源(如:数据库)获取数据,支持多种格式输出,包括PDF、...

    jasperreport 6.4.1报表动态列,以及生成导出html

    JasperReport是一款强大的开源报告生成库,主要用于设计和打印各种复杂的报表。在6.4.1版本中,它提供了丰富的功能,包括支持动态列的报表设计,这使得开发者可以根据数据的实际情况灵活调整列的数量和内容。这个...

    JasperReport+iReport报表开发手册.pdf

    iReport的主要作用在于提供一个直观的界面来设计报表的布局和结构,生成必要的文件(如jrxml文件)以便后续通过JasperReport填充数据并生成最终的报表。 #### 二、JasperReport+iReport的工作原理 1. **报表设计**...

    JasperReport+iReport报表学习资料

    ### JasperReport+iReport 报表学习资料知识点梳理 #### 一、JasperReport与iReport简介 ...通过以上知识点的学习和实践,用户可以全面掌握JasperReport+iReport的使用方法,从而高效地开发出满足业务需求的报表系统。

    JasperReport+iReport报表工具详细开发手册

    JasperReport的核心是基于模板的设计方式,用户可以通过设计模板来定义报表的布局和样式,然后在运行时填充数据。 二、iReport简介 iReport是JasperReport的官方设计工具,它提供了一个图形化的用户界面,使得...

    JasperReport 客户端 打印 导出PDF XLS

    JasperReport 打印 导出PDF XLS 这是我们公司架构师搭的一套架构,封装好了打印 导出功能,其他的报表只要实现这个机制就能完成功能了,该抽象的都抽象出来了,只有一个view.jsp页面。

    jasperreport ireport开发java报表入门级教程(完整版).rar

    JasperReport是一款开源的Java报表工具,它允许开发者创建复杂的打印报告,包括表格、图表、文本等元素,并能够输出为PDF、HTML、Excel、CSV等多种格式。JasperReport的核心功能是设计和生成静态报表,而动态数据的...

    jasperreport 生成pdf实现下载与打印

    标题中的“jasperreport生成pdf实现下载与打印”是指使用JasperReports库来创建PDF报告,并提供下载和打印功能。JasperReports是一个开源的Java报表工具,它允许开发者设计、生成和导出各种类型的报表,包括PDF、...

    JasperReport6.4.0报表设计

    在这个版本中,我们可以结合Web应用框架如Spring MVC,使用构建工具Maven,以及开发环境IntelliJ IDEA来高效地进行报表开发。 1. **JasperReport基础** JasperReport允许开发者用Java编写复杂的报表,支持多种数据...

    iReport-JasperReport 报表开发指南

    《iReport-JasperReport 报表开发指南》是一本针对初学者的专业教程,旨在帮助读者掌握使用iReport和JasperReport进行报表开发的核心技术。iReport是一款强大的设计工具,而JasperReport则是一个流行的Java报表库,...

Global site tag (gtag.js) - Google Analytics