About

ドキュメント

APIドキュメント

サポート

基本的な流れ

作成したテンプレートを利用してファイルを出力する方法は次の流れとなります。

  • テンプレートオブジェクトの生成
  • 埋め込みデータ生成
  • テンプレートファイル読み込み・ファイル出力

ファイル出力

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

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

FPTemplate template = new FPTemplate();

埋め込みデータ生成

テンプレートに埋め込むデータは「IDictionary<string, object>」で作ります。

IDictionary<string, object> data = new Dictionary<string, object>();
data["title"] = "タイトルです";
Foo foo = new Foo();
foo.Bar = "テスト";
data["fooTest"] = foo;

このIDictionary<string, object>をFPTemplateに渡します。

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

「FPTemplateTest.xls」というテンプレートファイルが実行ファイルと同じ場所にあるとします。

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

HSSFWorkbook wb = null;
using (Stream s = new FileStream("FPTemplateTest.xls", FileMode.Open, FileAccess.Read)
{
  try
  {
    wb = template.Process(is, data);
  }
  catch (FPParseException e)
  {
    //例外処理
    throw;
  }
  catch (FPMergeException e)
  {
    //例外処理
    throw;
  }
}
using (Stream s = new FileStream(@"target\FPTemplateTest_out.xls", FileMode.Create, FileAccess.Write)
{
  wb.Write(s);
}

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

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

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

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

  • Process(String, IDictionary<string, object>)
  • Process(HSSFWorkbook, IDictionary<string, object>)
があります。