DioDocsで明細行数を固定したExcel帳票を作成する

今回は「DioDocs(ディオドック)」で新しく追加された、テンプレート構文の自動改ページ機能を使用して、明細行数を固定したExcel帳票を作成する方法を紹介します。

こちらは2022年9月28日(水)にリリースされた「DioDocs V5J SP2」でDioDocs for Excelに追加されている機能です。

従来のテンプレート構文では、データの量に応じて明細行数が可変する「可変帳票」には対応していましたが、明細行数が固定された複数ページにまたがる「固定帳票」には対応していませんでした。今までにたくさんのお客様から「固定帳票に対応してほしい」というご要望をいただいており、今回のバージョンアップからテンプレート構文を使用して指定した行数を越えた場合には、自動で改ページを実施して「固定帳票」を作成できるようになります。

どんな帳票が作れるのか?

例えば「明細行が10行でデータ数が17」といったケースでは、以下の図のようにまず最初のシートで「明細行の10行までデータを挿入」し、次にシートを追加して「明細行の7行までデータを挿入、残り3行は空白」といったような、どちらも明細行数を10行に固定したExcel帳票を作成することが可能です。

どんな帳票が作れるのか?

自動改ページの設定方法

テンプレート構文のCountPerPageプロパティを使用して自動改ページを設定できます。このプロパティは帳票に出力するデータ数を指定するもので、データ数がCountPerPageプロパティに設定した値を超えた場合、同じ帳票レイアウトで新しいワークシートを自動的に追加します。

また、CountPerPageプロパティは、グローバル設定TemplateOptions.PaginationModetrueに設定されている場合にのみ有効になります。

まず、明細行の先頭セルに、以下のようなテンプレート構文を追加します。このテンプレート構文ではCP=10CPCountPerPageプロパティの省略表記)を追加して、明細行に追加するデータ数が10を超えた場合に自動改ページを実施するように設定しています。

{{ds.Product(FM=O, G=L, CP=10)}}
自動改ページの設定方法

次にグローバル設定TemplateOptions.PaginationModetrueに設定します。

// 新規ワークブックの作成
var workbook = new GrapeCity.Documents.Excel.Workbook();

// 帳票テンプレートファイルを読み込む
workbook.Open("Template_Pagination.xlsx");

// 改ページモードをtrueに設定
workbook.Names.Add("TemplateOptions.PaginationMode", "true");

あとは今までのテンプレート構文の使い方と同じで、用意しておいたデータソースを追加してテンプレート構文を処理したあとにワークブックを保存するだけです。

// データソースを追加
workbook.AddDataSource("ds", data);
		
// テンプレート処理を呼び出し
workbook.ProcessTemplate();

// Excelファイルに保存
workbook.Save("Result.xlsx");

以下のように明細行が固定されたExcel帳票を出力することができます。

自動改ページの設定方法
自動改ページの設定方法

上記コードを実装しているサンプルは以下です。

また、以下のデモでも動作を確認できます。

自動改ページ機能の詳細については、以下のドキュメントをご覧ください。


弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。

また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /