`
yangzc106
  • 浏览: 156425 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java打印JasperReport报表

阅读更多

使用数据库作为数据源打印报表,导出成pdf格式。

源码:

/**
 * 演示报表效果用
 * 打印报表到pdf格式
 *
 */
public class JasperPrintDemo {
	
	private String dburl = "";
	private String username = "";
	private String password = "";
	
	public static void main(String[] args) {
		JasperPrintDemo print = new JasperPrintDemo();
		try {
			print.printOut("D:/iReport/yangzc0913/report4.jrxml", "D:/iReport/yangzc0913/report4.pdf");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 打印报表
	 * @param filepath jrxml文件路径
	 * @param destfile 目标路径 pdf格式
	 * @throws SQLException
	 */
	private void printOut(String filepath, String destfile) throws SQLException{
		File file = new File(filepath);
		Connection con = null;
		try {
			//加载jrxml文件
			JasperDesign design = JRXmlLoader.load(file);
			//编译文件
			JasperReport report = JasperCompileManager.compileReport(design);
			con = getCon();//取得连接
			Map<String,String> parms = new HashMap<String, String>();
			//填充报表
			JasperPrint jp = JasperFillManager.fillReport(report, parms,con);
			JasperExportManager.exportReportToPdfFile(jp, destfile);//打印报表
//			JasperExportManager.exportReportToHtmlFile(jp, destfile);//打印成html
		} catch (JRException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} finally{
			if(con != null)
				con.close();
		}
	}
	
	/**
	 * 取得连接
	 * @return
	 * @throws SQLException
	 * @throws ClassNotFoundException
	 */
	private Connection getCon() throws SQLException, ClassNotFoundException{
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		Connection con = DriverManager.getConnection(dburl, username, password);
		return con;
	}
}

 

手动数据源

源码:

/**
 * 报表打印
 * @author 杨忠诚
 *
 */
public class JasperPrintDemo1 {
	
	public static void main(String[] args) throws JRException {
		Map<String, String> parms = new HashMap<String, String>();
		ReportDataSource ds = new ReportDataSource();
//		for(int i=0; i< 2; i++){
			HashMap<String, Object> hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2000-1-1至2004-12-31");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "\t我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			

			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-31");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			
			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-32");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			
			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-33");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			
			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-34");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			
			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-35");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			
			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-36");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
			
			hm = new HashMap<String, Object>();
			//设定各个参数的值
			hm.put("id", "1");
			hm.put("missiontimes", "2008-1-1至2010-12-37");
			hm.put("mission", "帮助企业实现科学管理!");
			hm.put("values", "我们生存的目的是能够给客户带来价值,我们真正的要了解他们的需求并实现超出他们预期的成果;");
			hm.put("perspective", "打造国产第一品牌的管理软件产品;\n开拓属于自己的管理软件市场;\n培育高素质的管理软件人才;\n树立管理软件的行业丰碑。");
			ds.addRecord(hm);
//		}
		//载入报表
		JasperDesign design = ReportPrintManager.loadDesign(new File("D:/iReport/report13.jrxml"));
		JasperReport report = ReportPrintManager.complieReport(design);//编译报表
		//导出报表
		ReportPrintManager.printReportToPdf(report, parms, ds, "D:/iReport/ss.pdf");
//		ReportPrintManager.printReportToHtml(report, parms, ds, "D:/iReport/ss.html");
	}
}

 

分享到:
评论
1 楼 kgdtaje198710 2013-07-19  
麻烦你老兄提供个jar包,及api文档,让大家有个参考。这怎么看。

相关推荐

    JasperReport报表设计总结

    本文主要总结了JasperReport报表设计的关键点,包括报表格式定制、数据填充以及显示或打印。 首先,报表格式的定制分为两种方式。一是编写jrxml文件,这是一种XML格式的文件,用于描述报表的布局和样式。另一种方式...

    iReport-JasperReport 报表开发指南

    iReport是一款强大的设计工具,而JasperReport则是一个流行的Java报表库,两者结合,能够创建复杂的、数据驱动的报表。 在学习这个教程之前,首先需要了解报表的基本概念。报表是组织和展示数据的一种方式,通常...

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

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

    JasperReport报表成型框架

    "报表开发注意事项.docx" 文件很关键,因为它很可能包含了开发JasperReport报表时的实践经验、注意事项和常见问题解答,是开发者的重要参考资料。 总结,JasperReport作为一个灵活的报表工具,为开发者提供了丰富...

    基于jasperreport的java报表组件

    **基于JasperReport的Java报表组件** 在Java开发中,报表生成是一项不可或缺的功能,它能够帮助企业分析数据、呈现业务信息。JasperReport是一款强大的开源报表工具,它与Java紧密结合,支持多种数据源和复杂的报表...

    jasperreport报表模板预览 applet与servlet通信

    标题中的“jasperreport报表模板预览 applet与servlet通信”涉及到的是Java开发中的一种常见应用场景,即使用JasperReports库创建报表,并通过Applet和Servlet进行交互以实现报表的预览。JasperReports是一个强大的...

    开源报表打印组件JasperReports用法详解

    JasperReports是一款功能强大的开源报表打印组件,属于开源代码组织SourceForge.net中的一个Java报表打印项目。它能够生成多种格式的报表,包括PDF、HTML、XML等,并且支持分页打印,非常适合制作各种类型的数据图表...

    jasperreport 生成pdf实现下载与打印

    - **jasperreport**:是Java报表库,用于解析模板并生成报表。 - **java**:整个过程是在Java环境中实现的,利用Java的Servlet和JasperReport API进行开发。 - **pdf**:PDF(Portable Document Format)是生成的...

    java报表打印包(导入即可)

    Java报表打印是Java开发中一个重要的领域,尤其在企业级应用中,用于生成和打印各种数据报告。这个压缩包提供了一套源代码,使得开发者能够快速集成报表打印功能到自己的项目中,无需从零开始编写复杂的打印逻辑。...

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

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

    struts2+ireport+jasperreport报表设计简单示例

    使用ireport和struts2进行报表...java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习报表的作参考。没分了,收个友情分1分,勿怪。

    Java 中jasperReport实现动态列打印的实现代码

    Java 中jasperReport实现动态列打印的实现代码 Java 中jasperReport实现动态列打印的实现代码主要介绍了使用jasperReport实现动态列打印的相关知识点。下面将详细介绍相关知识点。 首先,jasperReport是一个流行的...

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

    JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序、Web应用甚至独立的Java应用程序中创建复杂的报告。Servlet是Java Web开发中的一个重要组件,用于接收和响应来自客户端的HTTP请求。在本知识点中...

    JasperReport6.4.0报表设计

    JRXML文件是JasperReport报表的XML定义,其中包含了报表布局、样式、字段、计算公式等信息。在6.4.0版本中,可以使用iReport或Jaspersoft Studio等设计工具进行可视化设计,然后导出为JRXML文件。这些设计工具提供...

    jasperreport excel报表打印

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

    Jasperreport 客户端打印例子

    在Java应用中,JasperReport通常用于生成PDF、HTML、Excel等多种格式的报表,同时,它还支持客户端打印功能,使得用户可以在本地打印机上直接打印报表。 ### 1. JasperReport基本概念 - **报表模板(JasperDesign...

    使用JasperReport输出image图像

    接着,开发者转向了`JRGraphics2DExporter`类,这是一个专门用于将JasperReport报表导出到`Graphics2D`对象的导出器。`JRGraphics2DExporter`的优势在于它能够精确地将报表渲染到`Graphics2D`实例,而不是近似模拟。...

    ireport+jasperreport联合开发java报表(PDF).rar

    《ireport+jasperreport联合开发Java报表》是针对Java开发者的一款强大的报表生成工具,它能够帮助程序员高效地创建、设计和导出各种复杂的业务报表,尤其是PDF格式的报表。本资料详细介绍了如何利用ireport和...

    JasperReport+iReport报表工具

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

Global site tag (gtag.js) - Google Analytics