使用数据库作为数据源打印报表,导出成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");
}
}
分享到:
相关推荐
本文主要总结了JasperReport报表设计的关键点,包括报表格式定制、数据填充以及显示或打印。 首先,报表格式的定制分为两种方式。一是编写jrxml文件,这是一种XML格式的文件,用于描述报表的布局和样式。另一种方式...
iReport是一款强大的设计工具,而JasperReport则是一个流行的Java报表库,两者结合,能够创建复杂的、数据驱动的报表。 在学习这个教程之前,首先需要了解报表的基本概念。报表是组织和展示数据的一种方式,通常...
JasperReport是一款开源的Java报表工具,它允许开发者创建复杂的打印报告,包括表格、图表、文本等元素,并能够输出为PDF、HTML、Excel、CSV等多种格式。JasperReport的核心功能是设计和生成静态报表,而动态数据的...
"报表开发注意事项.docx" 文件很关键,因为它很可能包含了开发JasperReport报表时的实践经验、注意事项和常见问题解答,是开发者的重要参考资料。 总结,JasperReport作为一个灵活的报表工具,为开发者提供了丰富...
**基于JasperReport的Java报表组件** 在Java开发中,报表生成是一项不可或缺的功能,它能够帮助企业分析数据、呈现业务信息。JasperReport是一款强大的开源报表工具,它与Java紧密结合,支持多种数据源和复杂的报表...
标题中的“jasperreport报表模板预览 applet与servlet通信”涉及到的是Java开发中的一种常见应用场景,即使用JasperReports库创建报表,并通过Applet和Servlet进行交互以实现报表的预览。JasperReports是一个强大的...
JasperReports是一款功能强大的开源报表打印组件,属于开源代码组织SourceForge.net中的一个Java报表打印项目。它能够生成多种格式的报表,包括PDF、HTML、XML等,并且支持分页打印,非常适合制作各种类型的数据图表...
- **jasperreport**:是Java报表库,用于解析模板并生成报表。 - **java**:整个过程是在Java环境中实现的,利用Java的Servlet和JasperReport API进行开发。 - **pdf**:PDF(Portable Document Format)是生成的...
Java报表打印是Java开发中一个重要的领域,尤其在企业级应用中,用于生成和打印各种数据报告。这个压缩包提供了一套源代码,使得开发者能够快速集成报表打印功能到自己的项目中,无需从零开始编写复杂的打印逻辑。...
JasperReport是一款强大的开源报告生成库,主要用于设计和打印各种复杂的报表。在6.4.1版本中,它提供了丰富的功能,包括支持动态列的报表设计,这使得开发者可以根据数据的实际情况灵活调整列的数量和内容。这个...
使用ireport和struts2进行报表...java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习报表的作参考。没分了,收个友情分1分,勿怪。
Java 中jasperReport实现动态列打印的实现代码 Java 中jasperReport实现动态列打印的实现代码主要介绍了使用jasperReport实现动态列打印的相关知识点。下面将详细介绍相关知识点。 首先,jasperReport是一个流行的...
JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序、Web应用甚至独立的Java应用程序中创建复杂的报告。Servlet是Java Web开发中的一个重要组件,用于接收和响应来自客户端的HTTP请求。在本知识点中...
JRXML文件是JasperReport报表的XML定义,其中包含了报表布局、样式、字段、计算公式等信息。在6.4.0版本中,可以使用iReport或Jaspersoft Studio等设计工具进行可视化设计,然后导出为JRXML文件。这些设计工具提供...
### jasperreport与Excel报表打印知识点 #### 一、JasperReports简介 JasperReports是一款开源的报表工具,主要用于创建复杂、美观的报表,并能够从各种数据源(如:数据库)获取数据,支持多种格式输出,包括PDF、...
在Java应用中,JasperReport通常用于生成PDF、HTML、Excel等多种格式的报表,同时,它还支持客户端打印功能,使得用户可以在本地打印机上直接打印报表。 ### 1. JasperReport基本概念 - **报表模板(JasperDesign...
接着,开发者转向了`JRGraphics2DExporter`类,这是一个专门用于将JasperReport报表导出到`Graphics2D`对象的导出器。`JRGraphics2DExporter`的优势在于它能够精确地将报表渲染到`Graphics2D`实例,而不是近似模拟。...
《ireport+jasperreport联合开发Java报表》是针对Java开发者的一款强大的报表生成工具,它能够帮助程序员高效地创建、设计和导出各种复杂的业务报表,尤其是PDF格式的报表。本资料详细介绍了如何利用ireport和...
JasperReport和iReport是Java平台下用于生成报表的工具,它们在企业应用开发中扮演着重要的角色,尤其是在报表的生成、展现和打印方面。JasperReport是一种报表引擎,它能够解析.jasper文件并将其呈现到用户界面中,...