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");
	}
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值