About

ドキュメント

Javadoc

プロジェクト文書

Built by Maven

テンプレートファイルから出力ファイルの取得の仕方

テンプレートオブジェクトの生成

まず、ファイルを出力するオブジェクト、「FPTemplate」を生成します。

FPTemplate template = new FPTemplate();

埋め込みデータ生成

テンプレートに埋め込むデータは、Mapで作ります。キーはテンプレートから評価式で参照するため、文字列にします。

Map data = new HashMap();
data.put("title", "タイトルです");
Foo foo = new Foo();
foo.setBar("テスト");
data.put("fooTest", foo);

このMapをFPTemplateに渡します。

テンプレートファイル読み込み・ファイル出力

「FPTemplateTest.xls」というテンプレートファイルを、ルートパッケージに置いたとします。

InputStreamとして読み、先程用意した埋め込みデータと一緒にFPTemplateに渡します。

InputStream is = getClass().getResourceAsStream("/FPTemplateTest.xls");
  
HSSFWorkbook wb;
try {
    wb = template.process(is, data);
} catch (FPParseException e) {
    //例外処理
    throw e;
} catch (FPMergeException e) {
    //例外処理
    throw e;
}finally{
    is.close();
}
OutputStream os = new FileOutputStream("target/FPTemplateTest_out.xls");
wb.write(os);
os.close(); 

テンプレートに文法上の誤りがあった場合、FPParseExceptionが投げられます。

データ埋め込み時にエラーが発生した場合、FPMergeExceptionが投げられます。

他に、FPTemplate#process(InputStream, Map)は、IOExceptionも投げますが、上記では省略しています。

正常に処理が終了すると、データが埋め込まれたHSSFWorkbookが戻されます。

データ埋め込みメソッドには他に、

  • process(String,Map)
  • process(HSSFWorkbook, Map)

があります。