[GAS] スプレッドシートとHtmlServiceでHTMLパーツを文字列データとして量産する小ネタ
はじめにスプレッドシートから商品情報を参照し、商品ごとのHTMLパーツを自動生成したい、生成したHTMLはブラウザ表示させるのではなく、商品ごとの文字列データとして、スプレッドシートで管理したい、という要望に適した、GASをテンプレートエンジン的に使用する小ネタです。本記事はQiitaで公開した記事の要約版となります。基本的なロジックとしては、テンプレートとなるHTMLパーツを取得し、目印として埋め込んだマーカー(以降、handler)を差し替えるという流れになります。この際GASのHtmlServiceを利用しますが、そのままレンダリングするのではなく文字列として生成する点で、通常の利用用途とは異なります。※HtmlService利用用途の多くはGoogleサイトやGoogleフォームでは使えない機能を実装したい場合やSPA(Single Page Application)など、より自由度の高いUI構築が必要な場合かと思います。そのため、通常はスタンドアロンスクリプトとして構築し、デプロイ、httpsレスポンス表示、もしくはコンテナバインドスクリプトにおけるカスタムプロンプト表示用という使い方がメインです。ロジック事前準備としてプロジェクトへテンプレート登録しておきます。1-テンプレートの読み込みテンプレートを読み込み、配列へセットしておきます。2-データを取得し順次テンプレートへ展開ヘッダー行を削除し、順次テンプレートへ展開します。この際、やりがちなミスは、テンプレートに設定していないhandlerへの値セット、ないしはその逆、設定したhandlerへ値をセットしない、セッ
0