以下文件参照:Struts2 权威指南
JasperReports共涉及的类:
JasperCompileManager:这是一个与编译有关的类,利用它提供的一些编译方法,允许我们将一个报表设计文档*.jrxml 文件编译成一个二进制的报表文件 *.jasper文件。此外,也允许使用一个JasperDesign 实例(*.jrxml文件在内存中的形式)作为报表设计文件。
JasperFillManager:这个类是用于填充报表的,所谓填充报表就是为报表的数据查询提供数据库连接,给报表的参数设值等。报表填充之前是*.jasper文件,经过填充后就成为了*.jrprint 文件--这就是一份可显示或者可导出成报表的文件。
JasperPrintManager:用于将一个*.jrprint 文件完成打印。
JasperExportManager:用于将可显示的报表导出成各种格式的报表文件,主要导出成pdf、xml 格式的文档。
JasperRunManager:这个类可以直接将*.jasper 文件导出成各种格式的报表文件,只要是导出成pdf、html文档。
JRXxxExporter:这是一系列的文件导出器,他们用于将*.jrprint 文件导出成对应格式的报表文件,例如,JRPDFExporter可将*.jrprint 导出成一个pdf文档。
当开发人员生成不同的文件时,不同文件在JasperReports中也有对应的类。不同文件有如下3个类来对应:
JasperDesign:对应报表设计文件在内存中的形式,也就是对应*.jrprint 文件
JasperReport:对应二进制报表文件在内存中的形式,也就是对应*.jasper文件
JasperPrint:对应可显示报表设计文件在内存中的形式,也就是对应*.jrprint文件
以下是简单的实例:
所用到的包和iReport 文件都在下面
package testone;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JRViewer;
public class MyCompile {
/**
* @param args
* @throws Exception
* 开发步骤:
* 1.开发人员开发报表设计文件,可利用iReport 工具,生成*.jrxml文件
* 2.使用JasperReport提供的JasperCompileManager工具把*.jrxml文件编译成*.jasper文件
* 3.使用jasperReport 提供的JasperFillManager 工具把*.jasper文件编译成*.jrprint文件
* 4.使用导出管理器jasperExportManaer 或者各种格式的文件导出器JRXxxExport将*.jrprint文件导出成各种格式的报表文件
*/
public static void main(String[] args){
compile();
fill();
export1();
// export2();
// export3();
// view();
}
public static void compile(){
try {
JasperCompileManager.compileReportToFile("static.jrxml","static.jasper");
System.out.println("成功编译成jasperReport文件 *.jasper");
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void fill(){
try {
//填充时,即使没有使用数据源,也必须指定一个新建的JREmptyDataSource实例,而不能直接用null
JasperFillManager.fillReportToFile("static.jasper",null,new JREmptyDataSource());
System.out.println("成功填充成一个报表文件*.jrprint");
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 利用JasperExportManager 生成pdf、html或者xml格式的文件(不能生成xls格式文件)
*/
public static void export1(){
try {
JasperExportManager.exportReportToPdfFile("static.jrprint","static1.pdf");
System.out.println("成功生成pdf报表文件");
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 利用JRXxxExport将*.jrprint文件导出成各种格式的报表文件
*
*/
public static void export2(){
try {
JasperPrint jasperPrint=(JasperPrint)JRLoader.loadObject("static.jrprint");
JRXlsExporter export=new JRXlsExporter();
export.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
export.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,"static.xls");
export.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
export.exportReport();
System.out.println("成功生成xls报表文件");
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 利用JasperRunManager,可把*.jasper文件直接生成html、pdf格式文件
*/
public static void export3(){
try {
JasperRunManager.runReportToPdfFile("static.jasper", "static2.pdf",null,new JREmptyDataSource());
System.out.println("成功生成xls报表文件");
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 利用JRViewer可直接预览*.jrprint文件
*/
public static void view(){
try {
JRViewer jr=new JRViewer("static.jrprint",false);
JFrame jf=new JFrame("报表预览");
jf.add(jr);
jf.pack();
jf.setVisible(true);
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
4. **示例(samples)**:尽管原始的示例目录被删除,但压缩包可能还包含一些基础的示例代码,这些代码展示了如何使用JasperReports创建和填充报表。 5. **配置文件**:如jasperreports.properties,定义了...
JasperReports是一款功能强大的开源报表工具,尤其在Java环境中被广泛应用。本文将详细探讨JasperReports 4.7.0版本的核心特性、设计原理及其实现方法,旨在帮助开发者深入理解并充分利用这一强大的报告生成库。 1....
数据是报表的基础,JasperReports支持多种数据源,如Java集合、数据库连接(JDBC)、CSV文件等。在这个模块中,我们可以看到如何配置和使用这些数据源,以及如何通过JRDataSource接口自定义数据提供者。 2. **...
在这个版本中,用户可以找到一系列与报表设计、编译和展示相关的 `jar` 包,这些库是开发基于 Java 的报表应用的基础。 **1. jasperreports-javaflow-4.5.0.jar:流式处理** `jasperreports-javaflow-4.5.0.jar` ...
《JasperReports 3.6 Development Cookbook》是一本专注于JasperReports 3.6版本开发实践的书籍,旨在帮助开发者深入理解和应用这个强大的报表工具。JasperReports是Java平台上广泛使用的开源报表库,它允许开发者...
一、JasperReports基础 JasperReports是Itext和JFreeChart的结合体,它允许开发者使用XML格式定义报表模板,然后在运行时动态填充数据。报表可以是各种形式,包括表格、图表、文本等,且支持导出为PDF、HTML、Excel...
总之,JasperReports 0.6.1是一个基础的报表生成工具,虽然功能相对有限,但对于初学者或对复杂报表需求不高的项目来说,它仍然是一个实用的选择。随着版本的迭代,JasperReports的功能不断丰富和完善,成为了一个...
2. **《ireport图文教程.pdf》**:此教程详细介绍了如何使用iReport进行报表设计,包括基础操作、高级功能和实战技巧,对于初学者来说是一份很好的入门教材。 3. **《iReport+jasperReports 联合开发JAVA报表.pdf》...
JasperReports是一款强大的开源报表工具,广泛应用于Java应用程序中,用于生成复杂的数据报告。这个资源包“jasperreports实例+中文文档+资料”提供了全面的学习材料,包括实例、文档以及相关资料,帮助开发者深入...
- **iTextAsianCmaps.jar, iText-2.1.7.jar**:iText是JasperReports用于生成PDF的依赖库,这两个版本分别包含亚洲字符映射和基础iText库。 - **jasperreports-applet-4.6.0.jar**:支持在Web应用程序中嵌入...
- 有经验的开发者:对于已经有一定基础的开发者,本书可以帮助他们深入了解JasperReports的各种高级功能和技术细节。 - 项目经理和技术负责人:对于负责项目管理和技术决策的人来说,本书提供了一套完整的解决方案,...
JasperReports是一款强大的开源报表工具,专为Java开发人员设计,用于创建复杂的报表和数据可视化。它的灵活性和可扩展性使其在企业级应用中广泛应用。本教程将深入探讨JasperReports的核心概念和技术,帮助你熟练...
通过这个小例子,你可以掌握jasperReports的基础用法,并以此为基础,进一步学习更高级的报表设计和数据展现技巧。在实际项目中,jasperReports可以为企业级应用提供强大的报表生成能力,提升数据可视化和分析的效率...
然而,为了减小下载包的体积和避免重复引入,JasperReports的基础下载包通常会省略某些特定的依赖项,如字体包、Spring框架、iText库、Ant构建工具等,这些需要开发者根据项目需求自行下载和管理。 1. **Groovy-all...
jasperreports-1.3.3和iReport1.3.3是早期的报表设计和生成工具,尽管版本较旧,但对于初学者来说,它们仍然是学习报表设计基础的好起点。通过实践和学习,你可以掌握如何使用这些工具创建定制的、数据驱动的报表,...
《iReport-JasperReports报表开发指南+操作手册》是一本专为初学者设计的教程,主要聚焦于使用iReport和JasperReports工具进行报表开发。这两个工具是Java领域内广泛使用的开源报表解决方案,尤其在企业级应用中颇受...
1. **JasperReports基础** JasperReports允许开发者通过XML格式的模板(如`.jrxml`文件)来设计复杂的报表布局。这些模板可以包含文本、图像、图表以及各种数据字段,支持多种数据源,包括数据库连接、CSV文件、XML...