セル内の改行は "\n"
それをHTML側で "<br>" に置き換えます。
複数の改行へ対応できるようにgを加えて
value.replace(/\n/g, "<br>");
(valueはシートから取得したセルの値)
手元ではこれで実現できました。
やってみる
STEP1
A1セルに
あいうえお
かきくけこ
さしすせそ
という値を入れておきます。
セルの改行を<br>に置き換えないとこうなります。
あいうえお かきくけこ
コード.gs
function doGet() { return HtmlService.createHtmlOutputFromFile("index"); } function returnA1() { const sheet = SpreadsheetApp.getActiveSheet(); const A1Value = sheet.getRange("A1").getValue(); return A1Value; } |
意訳この機能がやること 指定したHTMLファイルを表示する この機能がやること スプレッドシートを取得して A1の値を取得して 返す |
index.html
<!DOCTYPE html> <html> <body> <div id=main></div> <script> load(); function load() { google.script.run .withFailureHandler(onFailure) .withSuccessHandler(onSuccess) .returnA1(); } function onSuccess(value) { const text = value.replace(/\n/g, "<br>"); document.getElementById("main").innerHTML = text; } function onFailure(e) { console.log([e.message, e.stack]); } </script> </body> </html> |
意訳load()を実行する この機能がやること .gsファイルのreturnA1()を実行する 失敗したらonFailureを実行する 成功したらonSuccessを実行する この機能がやること 渡されたvalueの\nを全部に置き換えて 指定したidの要素へHTML形式で入れる この機能がやること コンソールログにエラーメッセージを出す |