Docurain Labo

Docurainサービス開発日記

セルの結合を簡単に行えるようにしました

リスト・一覧形式の帳票では以下のように分類ごとにセルを結合・マージさせたいことがあります。

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/11/2160.png

その際にDocurainでは簡単に分類ごとの枠(セル)を結合することが可能です。

#MERGE_CELL([キー])#MC([キー])を使用します。
#MC#MERGE_CELLのエイリアスです)
引数は、結合するセルのグループを指定するための一意のキーです。

早速試してみます

サンプルのテンプレートとデータ(JSON)です。

ダウンロード

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/11/スクリーンショット-2020-11-04-13.24.23.png

[
  {
    "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 }
        ]
      }
    ]
  }
]

出力結果は以下の通りです。
同じ分類名の場合に該当のエリア(セル)がマージされていますね。

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/11/スクリーンショット-2020-11-04-11.44.37.png

また以下のような書き方も可能です。

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/11/スクリーンショット-2020-11-04-13.33.10.png

このように引数無しの場合、セルの値そのものが引数として扱われます。
セルに出力させたい値とキーが同じ場合はこちらの書き方の方が簡潔で分かりやすいですね。 出力結果は↑と同様じです。

大項目は異なるが中項目は同一の場合

このJSONのように大項目は異なるが中項目は同一の場合もあります。

JSONダウンロード

[
  {
    "name": "",
    "items": [
      {
        "name": "A1",
        ..中略..
      },
    ]
  },
  {
    "name": "",
    "items": [
      {
        "name": "A1",
        ..中略..
      }
    ]
  }
]

先ほどと同じテンプレートで出力するとこのようになります。

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/11/スクリーンショット-2020-11-04-12.59.01.png

大項目が異なる場合に中項目が同じでも枠を分割させたい場合は、
中項目の#MERGE_CELL or #MCの引数に大項目の値も含めます。
例): #MERGE_CELL(`$catL.name+$catM.name`) $catM.name

修正版テンプレートダウンロード

これにより以下のような出力結果となります。
中項目が同じでも枠が分割されてますね。

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/11/スクリーンショット-2020-11-04-13.05.58.png

分類ごとに枠をマージさせるような帳票出力が必要な場合は、 今回作成したサンプル帳票を、こちらのページからも登録不要で試してみることが出来ますので、気になったらぜひ試してみて下さい。

他にも様々な機能がありますので、アカウント無料登録してマニュアルを参照のうえお試しください。