リスト・一覧形式の帳票では以下のように分類ごとにセルを結合・マージさせたいことがあります。
その際にDocurainでは簡単に分類ごとの枠(セル)を結合することが可能です。
#MERGE_CELL([キー])
、#MC([キー])
を使用します。
(#MC
は#MERGE_CELL
のエイリアスです)
引数は、結合するセルのグループを指定するための一意のキーです。
早速試してみます
サンプルのテンプレートとデータ(JSON)です。
[ { "name": "食料品", "items": [ { "name": "肉類", "items": [ { "name": "輸入牛肉", "amount": 1 }, { "name": "和牛", "amount": 2 } ] }, { "name": "肉類", "items": [ { "name": "ブロイラー", "amount": 1 }, { "name": "地鶏", "amount": 2 } ] }, ..中略.. ] }, ..中略.. { "name": "雑貨", "items": [ { "name": "電池", "items": [ { "name": "単1", "amount": 1 }, { "name": "単2", "amount": 2 }, { "name": "単3", "amount": 3 } ] } ] } ]
出力結果は以下の通りです。
同じ分類名の場合に該当のエリア(セル)がマージされていますね。
また以下のような書き方も可能です。
このように引数無しの場合、セルの値そのものが引数として扱われます。
セルに出力させたい値とキーが同じ場合はこちらの書き方の方が簡潔で分かりやすいですね。
出力結果は↑と同様じです。
大項目は異なるが中項目は同一の場合
このJSONのように大項目は異なるが中項目は同一の場合もあります。
[ { "name": "A", "items": [ { "name": "A1", ..中略.. }, ] }, { "name": "B", "items": [ { "name": "A1", ..中略.. } ] } ]
先ほどと同じテンプレートで出力するとこのようになります。
大項目が異なる場合に中項目が同じでも枠を分割させたい場合は、
中項目の#MERGE_CELL
or #MC
の引数に大項目の値も含めます。
例): #MERGE_CELL(`$catL.name+$catM.name`) $catM.name
これにより以下のような出力結果となります。
中項目が同じでも枠が分割されてますね。
分類ごとに枠をマージさせるような帳票出力が必要な場合は、 今回作成したサンプル帳票を、こちらのページからも登録不要で試してみることが出来ますので、気になったらぜひ試してみて下さい。
他にも様々な機能がありますので、アカウント無料登録してマニュアルを参照のうえお試しください。