技术开发 频道

JasperReports快速入门

POJOs数据源报表

建立一个简单的Java类文件(POJOs),User.java:
public class User implements java.io.Serializable {
private Integer id;
private String email;
private String password;

public User() {
}
public User(String email, String password) {
this.email = email;
this.password = password;
}
public User(Integer id, String email, String password) {
this.id = id;
this.email = email;
this.password = password;
}

public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return this.email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}

JRXML文件

基本和JDBC数据源的一致,只是这里不再需要:
<queryString>
<![CDATA[SELECT * FROM user ORDER BY id]]>
</queryString>

重点看客户端核心代码:
try {
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
ArrayList reportRows = new ArrayList();
reportRows.add(new User(1, "x.qi@cleversoft.com", "123456"));
reportRows.add(new User(1, "qixiang_nj@163.com", "000000"));
reportRows.add(new User(3, "qixiangnj@gmail.com", "abc123"));
reportRows.add(new User(3, "mail2qixiang@gmail.com", "987654321"));
JRDataSource dataSource = new JRBeanCollectionDataSource(reportRows);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
params, dataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
} catch (JRException e) {
e.printStackTrace();
}
}

JRDataSource dataSource = new JRBeanCollectionDataSource(reportRows);
这次,我们把使用POJOs的ArrayList作为了数据源。
我们将报表导出成pdf格式。
看一下运行效果:

                                                                                                      图3

通过以上几个应用,您可以放心地开始JasperReports之旅了!
0
相关文章