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を使ったから勝手に補完にヘルプで楽だった。

Debian QA
Facebook (taniguchi.takaki)
Twitter (@takaki_t)