Eclipse BIRTを使ってみる (2) - データバインディング -
今度はJava側から変数をぶっこんでそれをBIRTレポートに反映させるっていうのをやってみる
レポートファイルの作成
レポートファイルを作成して、レイアウトにダイナミックテキストを設定する。で更にレポートパラメーターを定義する。今回はlabel1というレポートパラメーターを定義する。でここまでやったらアウトラインがこんな感じになる
で、このダイナミックテキストにバインディングするデータを指定しないといけないのでプロパティ->バインディングから追加する
これでレポートファイルは完成
Client.java
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.PDFRenderOption;
import org.eclipse.birt.report.engine.api.RenderOption;
import org.eclipse.birt.report.engine.api.ReportEngine;
public class Client {
public static void main(String[] args) throws Exception {
EngineConfig config = new EngineConfig();
//config.setEngineHome("/opt/birt");
ReportEngine engine = new ReportEngine(config);
IReportRunnable design = engine.openReportDesign("sample.rptdesign");
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
// 追加
task.setParameterValue("label1", "2012/10/31のアクセスレポート");
RenderOption options = new PDFRenderOption();
options.setOutputFileName("output.pdf");
options.setOutputFormat(RenderOption.OUTPUT_FORMAT_PDF);
task.setRenderOption(options);
task.run();
}
}
ってな感じでIRunAndRenderTask.setParameterValueメソッド等を用いてレポートパラメーターにデータを設定してレンダリングする