列名を指定してのアクセス

スプレッドシートは、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