列名を指定してのアクセス
スプレッドシートは、1行目を列見出しとして利用する場合があります。テンプレートで表組みを行うとき、列名を元に列を参照したい場合があります。
そのような使い方をSheetAssetではデータベース・テーブル
と呼び、mt:SheetAssetTable
テンプレートタグと、mt:SheetAssetField
テンプレートタグを利用します。
この方法のメリットは、列の順番が変更されたり、新しい列が途中に挿入されても、テンプレートを変更する必要がないことです。
データベース・テーブルの例
対象となるスプレッドシート
以下のようなスプレッドシートで、店舗名と営業時間だけを抜き出して表組みを行います。
店舗コード | 店舗名 | 住所 | 電話番号 | 営業時間 |
---|---|---|---|---|
A01 | 本店 | 東京都港区1-1-1 | 03-0000-1111 | 10:00 - 21:00 |
B02 | 札幌店 | 北海道札幌市1-1-1 | 011-000-1111 | 11:00 - 20:00 |
C03 | 福岡店 | 福岡県福岡市1-1-1 | 092-000-1111 | 11:00 - 20:00 |
テンプレート
以下のようにテンプレートを作成します。
<mt:Asset id="123">
<table>
<thead>
<tr>
<td>店舗名</td>
<td>営業時間</td>
</tr>
</thead>
<tbody>
<mt:SheetAssetTable>
<tr>
<td><mt:SheetAssetField column="店舗名" /></td>
<td><mt:SheetAssetField column="営業時間" /></td>
</tr>
</mt:SheetAssetTable>
</tbody>
</table>
</mt:Asset>
出力結果
店舗名と営業時間のみが出力されます。
店舗名 | 営業時間 |
---|---|
本店 | 10:00 - 21:00 |
札幌店 | 11:00 - 20:00 |
福岡店 | 11:00 - 20:00 |