DioDocs for Excel
DioDocs for Excel
固定レイアウト
帳票の作成 > 帳票テンプレートの構成 > 固定レイアウト

DioDocs では、帳票テンプレートから Excel 帳票を作成する際、まず空白行を挿入し、その後にデータとスタイルを設定して、最終的な Excel 帳票を生成します。帳票テンプレートに固定レイアウトが定義されている場合、この固定レイアウトの範囲にデータを適切に連結するために使用できる2つのプロパティがあります。

  1. FillMode プロパティ

    FillMode(省略形:FM)プロパティは、Insert、Overwrite、OverwriteWithFormat のいずれかを設定します。

    • Insert(デフォルト):セルにデータとスタイルを設定する前に空白行を挿入します。
    • Overwrite(省略形:O):空白行を挿入せずにセルに直接データを設定します。帳票テンプレートのレイアウトが保持されます。
    • OverwriteWithFormat(省略形:OF):テンプレートセルからスタイルをコピーして追加した新しいセルにデータを設定します。

    以下の例では、FillMode プロパティを「overwrite」に設定し、売上の明細を出力する帳票テンプレートを作成しています。

    データソースには 8 行のデータがあります。生成される Excel 帳票は以下のようになります。

    メモ:テンプレートフィールドに FillMode プロパティが定義されていない場合、デフォルトの動作に従い、最初に空白行が挿入されます。なお、FillMode プロパティに OverwriteWithFormat を設定した場合の出力結果については、デモをご参照ください。


  2. FillRange プロパティ

    FillRange(省略形:FR)プロパティは、FillMode プロパティに「overwrite」が設定されており、データソースのデータが帳票テンプレート内の固定レイアウトの範囲を超える場合に使用します。これにより、データがオーバーフローした場合、FillRange プロパティで指定した範囲が複製され、溢れたデータがそこに連結されます。

    たとえば、データソースには 20 行のデータがあり、FillRange プロパティでセル範囲「A1:A8」を指定した場合、セル範囲「A1:A8」(8 行)は、まず 8 行分複製(合計 16 行)され、さらに 8 行分複製(合計 24 行)されてから、20 行のデータが連結されます。

    メモ:データソースのデータがオーバーフローし、FillRange プロパティが設定されていない場合、セル範囲を複製してデータを連結することはありません。代わりに、既存の明細行の下にデータが連結されます。

    以下の例では、売上の明細を出力する帳票テンプレートを作成しています。オーバーフローするデータに対応するために、FillMode プロパティに「overwrite」を設定し、FillRange プロパティにセル範囲を設定しています。

    データソースには 26 行のデータがあります。FillRange プロパティにて 12 行分のセル範囲を指定したため、そのセル範囲を 2 回複製してすべてのデータを連結します。最終的に生成される Excel 帳票は以下のようになります。

    Excel report output