看完了各个模板元素的具体含义,下面让我们看看如何利用这个模板产生报表。
建立一个Java类文件,HelloReportWorld.java:
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
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.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
public class HelloReportWorld {
public HelloReportWorld() {
}
public static void main(String[] args) {
String reportSource = "./report/templates/HelloReportWorld.jrxml";
String reportDest = "./report/results/HelloReportWorld.html";
Map<String, Object> params = new HashMap<String, Object>();
params.put("reportTitle", "Hello Report World");
params.put("author", "Thomas Qi");
params.put("startDate", (new java.util.Date()).toString());
try {
JasperReport jasperReport =
JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport, params, new JREmptyDataSource());
JasperExportManager.exportReportToHtmlFile(
jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
}
catch (JRException ex) {
ex.printStackTrace();
}
}
}
通过以下代码:
try {
JasperReport jasperReport =
JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource());
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
}
可以看出使用JasperReports创建报表典型流程中的2、3、4步骤,分别对应于JasperCompileManager.compileReport()、JasperFillManager.fillReport()、
JasperExportManager.exportReportToHtmlFile()。
我们将报表导出成HTML格式。
看一下运行效果:

图1
到目前为止,一个简单的JasperReports应用就完成了。