RSS

JasperReportに挑戦

やっとこさJasperReportを使ったプログラムを書けた。

一から頑張るなんてことはやらないで、JasperForgeにあるサンプルをもとに改造した。サンプルのjasperbook_chapter_5のソース(JasperCompileManager.java)を改造する。もともとのコードはサーブレットになっている。そんなことされてはめんどくさいのでその場でPDFを生成するように改造した。そのあたりはThinkITの記事を参考に。ずらずらとソースを並べても仕方がないのでmainのところだけ書く。
	public static void main(String[] args) {
String templatePath = "./template/AircraftReport.jrxml";
String destPath = "./JasperSample1.pdf";
try {
JasperReport jasperReport = JasperCompileManager
.compileReport(templatePath);

JRDataSource dataSource = createReportDataSource();

JasperPrint print = JasperFillManager.fillReport(jasperReport,
new HashMap(), dataSource);
JasperExportManager.exportReportToPdfFile(print, destPath);
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}

てな具合です。

ThinkITの記事はデータソースがデータベースとの接続を前提とした記事になっていたので別のコードを見なきゃデータソース変更の方法がわからなかっただけです。一回書いてみると別にデータソースの変更に面倒な話は何もない。Eclipseを使ったから勝手に補完にヘルプで楽だった。