スプレッドシートに記載した項目をHTMLとして吐き出すGASを組みました。
スクリプトで登録したHTML上の<br>はHTMLタグとして読み込まれましたが
スプレッドシートから読み込む部分で、改行タグがエスケープ処理され
<br>
として吐き出されます。
▼GAS
function exportHTML() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート名"); // 最終行を取得して商品点数を計算(-1は見出し行) var count = sheet.getLastRow() - 1; // HTMLテンプレートファイル指定(index) var html = HtmlService.createTemplateFromFile("index"); // 商品データをHTMLテンプレートファイルに html.productData = sheet.getRange(2, 1, count, 6).getValues(); Logger.log(html.productData); var outputFolder = DriveApp.getFolderById("フォルダID"); var date = new Date(); outputFolder.createFile("HTML_" + Utilities.formatDate(date, "Asia/Tokyo", "yyyyMMddhhmmss"), html.evaluate().getContent(), MimeType.HTML); }
▼HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>タイトル</title> <meta name="description" content=""> <meta name="keywords" content=""> </head> <body> <? productData.forEach(function(option) { ?> <p> <?= option[1].replace(/\r?\n/g, '<br>'); ?> </p> <? }); ?> </body> </html>
スプシのセル内の改行を<br>タグとして吐き出したいのですが
ご教示いただけますでしょうか。
ん?
<? productData.forEach(function(option) { ?>
って、コードはJavaScriptっぽいけどPHPタグの中に記述していますか?
これ、どう動くのでしょう…
このGAS自体、下記ブログを参考に作ったものです。
自分自身プログラマーではないので、知識不足で大変申し訳ないですが
原因わかりましたら、ご教示いただきたく、、、。
https://www.terakoya.work/google-spread-sheet-html-template-output-save/

回答1件
あなたの回答
tips
プレビュー