.NET WPF 帳票には FixedDocument が便利
帳票 (ハードコピーを打ち出す) プログラムを Paint など描画クラス で作成しやうすれば労力的に困難であらう。また, データ系列のわづかな変更でさへもその修正を困難にする。
ところで, .NET には標準で FixedDocument といふ帳票作成支援クラス がある。帳票の体裁にあわせて データ構造を作成し, そして XAML へのデータバインドすることにより, Viewer・帳票(ハードコピー出力) の作成が可能である。
どんな帳票でもおそらくこれを用いて作成可能ではあらう.
ただし, 帳票の体裁にあわせたデータ構造を作成する部分に主に手間がかかる。このあたりは Excel VBA でシートを転記する場合における感覚と似てゐるが, WPFには特有のデータバインドという概念があり, これは帳票プログラムを オブジェクト指向的に(なるべく)仕上げやうとする上では便利な Framework 環境仕様であり, 慣れたら Excel VBA よりも WPF & FixedDocument で作成する方が便利である。
ところで, このやうな帳票作成に於いては, その作成支援エンジニアリングツールとして, 旧 Grapecity (現SAP所管) の CrystalReports なる(ランタイムも)有償製品が有名らしいが, この FixedDocument は .NET 標準, つまり無料である(今のところ)。そして .NET4 WPF の時代から基本仕様に殆ど変わりがないので覚えても損はないだらう。
帳票プログラムの核心部, すなはちデータ構造にかんしては, 帳面が縦に広がるか, 横に広がるか, はたまた分類・日計ごとに表が分れるか, など帳票体裁によつて 考えられるデータ構造が無限に pattern があり, また, それは個人の発想に負ふところが大きい。
あらゆる場合に対応した万能なひな形は帳票ではどだい無理な話ではあるし, なんとなく近さうなものを無理くり流用しやうとすると却つて事後が宜しくない場合もあるが, データ構造以外は或る程度流用できるから, 平素よりいくつか準備しておくと便利かもしれない。