テンプレート構文におけるグローバル設定とは、帳票テンプレート全体に適用される設定のことです。グローバル設定は、同じ設定を複数のテンプレートフィールドに適用する必要がある場合に使用されます。なお、グローバル設定は、ワークブックにある全てのワークシートに適用されます。
テンプレート構文で使用可能なグローバル設定について、以下のとおり説明します。
グローバル設定 | 説明 | 値 |
---|---|---|
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 メソッドは、Name と RefersTo をパラメータとして受け取ります。
以下のサンプルコードは、帳票テンプレートにグローバル設定を指定する方法を示しています。
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"); |
以下の画像は、「TemplateOptions.KeepLineSize」に「true」を設定して出力された Excel 帳票です。
以下の画像は、「TemplateOptions.InsertMode」に「EntireRowColumn」を設定して出力された Excel 帳票です。これにより、テンプレートセルが展開されても、アウトラインや明細の下にある行の高さは保持されます。
EmbedFontForFormFields を設定することにより、生成される PDF ドキュメントに、フォームフィールドで使用されるフォントファイルを埋め込むことができます。
EmbedFontForFormFields に true を設定した場合、対応するフォントがインストールされていないマシンやブラウザでも、任意の文字が正しく表示されます。ただし、特に東アジアの文字が使われている場合、生成される PDF ドキュメントのファイルサイズが大きくなる可能性があります。
EmbedFontForFormFields に false を設定した場合、生成される PDF ドキュメントは最適なサイズになりますが、マシンやブラウザに対応するフォントがインストールされていない場合、文字が正しく表示されない可能性があります。
以下の画像は、「TemplateOptions.EmbedFontForFormFields」に「true」を設定して生成された PDF フォームです。以下の例で使用しているテンプレートファイルは こちらからダウンロードできます。
TemplateOptions.DebugMode に true を設定すると、生成された Excel 帳票と対応する帳票テンプレートを同じワークブック内で比較することができるようになります。
以下の画像は、「TemplateOptions.DebugMode」に「true」を設定して出力された Excel 帳票です。
帳票テンプレートのシート | |
Excel 帳票のシート |
PaginationMode を設定すると、テンプレート構文の CountPerPage プロパティが有効になります。TemplateOptions.PaginationMode に true が設定されている場合、ワークシートは CountPerPage プロパティに設定された値に基づいて自動で改ページを行います。この場合、TemplateOptions.KeepLineSize の値は常に true と見なされます。また、TemplateOptions.InsertMode の値は EntireRowColumn と見なされます。
以下の画像は、「TemplateOptions.PaginatedMode」に true を設定し、テンプレート構文の CountPerPage プロパティを設定して出力された Excel 帳票の1ページ目と2ページ目です。
ページ1 | |
ページ2 |