テンプレートプロパティは、以下の画像のように、テンプレートフィールドとともに丸括弧「( )」で囲んで定義します。
Context(省略形:C)プロパティは、セル間の関係(コンテキスト)を設定します。
なお、セルのコンテキストについての詳細は、「セルのコンテキスト」を参照してください。
設定値:セル参照、データフィールド、「None」
例
{{ds.field(C=A1, E=H)}}
Hello World! {{(C=A2)}}
{{=SUM(F4) (C=ds1.team)}}
{{=SUM(ds1.score) (C=ds1.team*ds1.season)}}
Expansion(省略形:E)プロパティは、セルの値が展開する方向を設定します。
なお、セルの展開についての詳細は、「セルの展開」を参照してください。
設定値:列挙型
例
{{ds.field(C=A1, E=H)}}
Group(省略形:G)プロパティは、データのグループ化の種類を設定します。
設定値:列挙型
例
{{ds.field(G=repeat)}}
{{ds.field(G=list)}}
以下の画像は、Group プロパティの設定例とその出力結果です。
Range(省略形:R)プロパティは、指定範囲内のテンプレートフィールドのフォールバックコンテキストを設定します。範囲に含まれるデフォルトまたは明示的なコンテキストを持たないすべてのテンプレートフィールドは、Range プロパティが定義されているセルをコンテキストとして使用します。
設定値: セル範囲(デフォルトは Null)
例
{{ds.field(R=B3:F10)}}
以下の画像は、製品名に対して Range プロパティを定義すると、製品の明細が製品名を基準に展開・グループ化されること示しています。
Sort(省略形:S)プロパティは、テンプレートフィールドにおけるソートの種類を設定します。このプロパティは、単一または複数の列に適用され、それぞれのセルの値によって決定されます。この機能により、昇順と降順でのソートだけではなく、カスタムの並べ替えルールを1つまたは複数の列に適用できます。
DioDocs for Excelは、次の基本的なルールに従ってソートを実装します。
例として、次のデータソースを考えてみます。
次のテンプレートを使用する場合、Sort プロパティがコンテキストセルA1によって制限され、共通の親セルがないため、D列のセルを並べ替えることはできません。
Sort プロパティはセルA1にのみ追加できます。その結果、テンプレートは以下のようになります。
出力結果
Sort プロパティが設定されているセルのみをソートすることができ、Sort プロパティが設定されていないセルをソートすることはできません。上記のデータソースでは、セルD1の値に基づいてセルA1の値ををソートすると、セルD1ではなくセルA1のみがソートされます。
ソートは、次の3つの方法で設定できます。
設定値: 列挙型
S=Asc(デフォルト):昇順にソートします。
S=Desc:降順にソートします。
S=None: ソートしません。
設定値: 配列
S={“X“, “Y“,”Z”}
設定値: 式
S=(Cell A Asc {“X“, “Y“,”Z”}, Cell B Desc)
例1:単一列のソート
{{ds.field(S=Desc)}}
以下の画像は、ソートの種類に基づいてテンプレートフィールドがどのように展開されるかを示しています。
例2:複数の列のソート
{{ds.OrderID(S=(C12,D12 desc),G=List)}}
以下の画像は、セルC12とセルD12に基づいて[注文ID]列がどのようにソートされるかを示しています。
例3:カスタムルールによるソート
{{ds.City(S=(A12 desc {"ニューヨーク", "シカゴ", "ミネソタ", "サンティアゴ", "フリーモント", "キト", "メデジン", "ブエノスアイレス"}))}}
以下の画像は、カスタムの並べ替えルールに基づいて[都市]列がどのようにソートされるかを示しています。
PageBreak(省略形:PB)プロパティは、テンプレートフィールドの後に改ページを追加するかどうかを設定します。なお、詳細な動作は、以下のとおり、生成された Excel 帳票でのテンプレートセルの位置によって決定されます。
設定値:Boolean
例
{{ds.field(PB=true)}}
以下の画像は、「Category」フィールドの後に改ページを追加するよう設定した例とその出力結果です。
Image プロパティは、画像を追加するかどうかを設定します。また、追加する場合は、画像の幅と高さを指定したり、縦横比を維持したりすることもできます。
width と height を使用してセル内の画像のカスタム寸法を指定しますが、keepaspect を使用して画像のサイズをセルのサイズに合わせて縦横比を維持します。width と height を設定するときに、寸法の単位 (pt または px) も指定する必要があります。
対応している画像のデータ型は、byte[] および base64 文字列です。
セル内の画像の配置は、セルの横位置と縦位置の配置を設定することで制御できます。デフォルトでは、画像は横位置と縦位置ともにセルの中央に配置されます。
設定値:Boolean
Image = True :画像を追加します。
Image= False(デフォルト):画像を追加しません。
Image.width=文字列の値:画像の幅を指定します。デフォルトはセルの幅です。
Image.height=文字列の値:画像の高さを指定します。デフォルトはセルの高さです。
Image.keepaspect= True:画像の縦横比を維持します。
Image.keepaspect= False(デフォルト):画像の縦横比を維持しません。
構文を作成するには、次の説明のように略語を使用することもできます。
例
{{ds.icon(Image=true)}}
{{ds.icon(Image=true, Image.width=150px)}}
{{ds.icon(Image=true, Image.height=150px)}}
{{ds.icon(Image=true, Image.keepaspect=true)}}
以下の画像は、Excel 帳票に画像を出力する例です。
自動改ページに関するテンプレートプロパティについては、「自動改ページのプロパティと関数」を参照してください。