DioDocs for Excel
DioDocs for Excel
グローバル設定
帳票の作成 > 帳票テンプレートの構成 > グローバル設定

テンプレート構文におけるグローバル設定とは、帳票テンプレート全体に適用される設定のことです。グローバル設定は、同じ設定を複数のテンプレートフィールドに適用する必要がある場合に使用されます。なお、グローバル設定は、ワークブックにある全てのワークシートに適用されます。

テンプレート構文で使用可能なグローバル設定について、以下のとおり説明します。

グローバル設定 説明
TemplateOptions.KeepLineSize テンプレートセルを展開する際に、行の高さと列の幅を同じサイズに維持するかどうかを指定します。

型:Boolean

値:True、False(デフォルト)

TemplateOptions.InsertMode テンプレートセルを展開する際にスペースの追加が必要になったとき、セルを挿入するか、または行/列全体を挿入するかを指定します。

型:文字列

値:Cells(デフォルト)、EntireRowColumn

TemplateOptions.EmbedFontForFormFields フォームフィールドで使用されているフォントを、エクスポートされる PDF ファイルに埋め込むかどうかを指定します。

メモ:この設定は、PDFのフォームフィールドにのみ適用されます。

型:Boolean

値:True(デフォルト)、False

TemplateOptions.DebugMode Excel 帳票作成後も、元の帳票テンプレートを同じワークブックに保持するかどうかを指定します。これにより、帳票テンプレートと生成された Excel 帳票を同じワークブック内で比較できるようになります。

型:Boolean

値:True、False(デフォルト)

TemplateOptions.PaginationMode 1ページ内に生成されるテンプレートセルのインスタンス数を制限します。インスタンス数が CountPerPage プロパティの値を超えると、帳票テンプレートと同じレイアウトの新しいページが自動的に作成されます。

型:Boolean

値:True、False(デフォルト)

メモ: グローバル設定の「範囲」は「ブック」のみです。つまり、ワークブック内のすべてのワークシートにグローバル設定が適用されます。

グローバル設定は、以下の2つの方法で帳票テンプレートに適用することができます。

帳票テンプレートでのグローバル設定の定義

グルーバル設定は、以下の画像のように MS Excel の[名前の管理]ダイアログを使用して帳票テンプレートに定義できます。[名前の管理]ダイアログを表示するには、[数式]>[定義された名前]>[名前の管理]をクリックします。

コードによるグローバル設定の定義

グローバル設定は、帳票テンプレートを読み込んだ後、コードにて名前の定義をワークブックに追加することでも指定できます。INames インタフェースの Add メソッドを使用して、グローバル設定を適用します。この Add メソッドは、NameRefersTo をパラメータとして受け取ります。

以下のサンプルコードは、帳票テンプレートにグローバル設定を指定する方法を示しています。

C#
コードのコピー
Workbook workbook = new Workbook();
workbook.Open("template.xlsx");

// テンプレート構文のグローバル設定を定義します
workbook.Names.Add("TemplateOptions.KeepLineSize", "true");
workbook.Names.Add("TemplateOptions.InsertMode", "EntireRowColumn");

// PDFのフォームフィールドのためのグローバル設定を定義します
workbook.Names.Add("TemplateOptions.EmbedFontForFormFields", "true");

// DebugMode のグローバル設定を定義します
workbook.Names.Add("TemplateOptions.DebugMode", "true");

// PaginationMode のグローバル設定を定義します
workbook.Names.Add("TemplateOptions.PaginationMode", "true");

// データソースを追加します
workbook.AddDataSource("ds", ds);

// データを連結して帳票を作成します
workbook.ProcessTemplate();

workbook.Save("report.xlsx");

KeepLineSize

以下の画像は、「TemplateOptions.KeepLineSize」に「true」を設定して出力された Excel 帳票です。

InsertMode

以下の画像は、「TemplateOptions.InsertMode」に「EntireRowColumn」を設定して出力された Excel 帳票です。これにより、テンプレートセルが展開されても、アウトラインや明細の下にある行の高さは保持されます。

EmbedFontForFormFields

EmbedFontForFormFields を設定することにより、生成される PDF ドキュメントに、フォームフィールドで使用されるフォントファイルを埋め込むことができます。

EmbedFontForFormFields に true を設定した場合、対応するフォントがインストールされていないマシンやブラウザでも、任意の文字が正しく表示されます。ただし、特に東アジアの文字が使われている場合、生成される PDF ドキュメントのファイルサイズが大きくなる可能性があります。
EmbedFontForFormFields に false を設定した場合、生成される PDF ドキュメントは最適なサイズになりますが、マシンやブラウザに対応するフォントがインストールされていない場合、文字が正しく表示されない可能性があります。

以下の画像は、「TemplateOptions.EmbedFontForFormFields」に「true」を設定して生成された PDF フォームです。以下の例で使用しているテンプレートファイルは こちらからダウンロードできます。

DebugMode

TemplateOptions.DebugMode に true を設定すると、生成された Excel 帳票と対応する帳票テンプレートを同じワークブック内で比較することができるようになります。

以下の画像は、「TemplateOptions.DebugMode」に「true」を設定して出力された Excel 帳票です。

帳票テンプレートのシート
Excel 帳票のシート

PaginationMode

PaginationMode を設定すると、テンプレート構文の CountPerPage プロパティが有効になります。TemplateOptions.PaginationMode に true が設定されている場合、ワークシートは CountPerPage プロパティに設定された値に基づいて自動で改ページを行います。この場合、TemplateOptions.KeepLineSize の値は常に true と見なされます。また、TemplateOptions.InsertMode の値は EntireRowColumn と見なされます。

以下の画像は、「TemplateOptions.PaginatedMode」に true を設定し、テンプレート構文の CountPerPage プロパティを設定して出力された Excel 帳票の1ページ目と2ページ目です。

ページ1
ページ2