0

スプレッドシートを HTML テーブルに生成する際に問題が発生しました。これに続いて: HTML Service- Apps scripts変数htmlOutputを定義する方法、またはそれを表示/返す方法が明確ではありません。ご意見ありがとうございます。

function doGet() {
var t = HtmlService.createTemplateFromFile('myTemplate');
var htmlOutput =  t.evaluate();
return htmlOutput;
}

私の HTML テンプレート 'myTemplate.html' は次のとおりです。

<html>
<table>
<? var sheet = SpreadsheetApp.openById("ID").getSheetByName("Results-List");
 var lastRow = sheet.getLastRow();  
 var myRange = sheet.getRange("A2:G"+lastRow); 
 var data = myRange.getValues();
 for (var i = 0; i < data.length; ++i) { ?>
<tr>
  <? for  (var j = 0; j < data[i].length; ++j) { ?>
    <td><?= data[i][j]?></td>
  <? } ?>
</tr>
<? } ?>
</table>
</html>
4

2 に答える 2

0

いくつかの高度な書式設定が必要だったので、コメントに入れなかった提案です...

として保存された例でhtmlテンプレートを表示して'myTemplate.html'いますが、拡張子を付けて名前を付けましたか、それとも画面に表示されるのでhtml拡張子を表示しますか?

myTemplate.htmlHTML ファイルに名前が付けられているか、単にmyTemplate両方のファイルがスクリプト エディター インターフェイスで同じように表示されている場合、それらは明らかに異なるファイルであることに気付きました。これは、エラーの原因になる可能性があります。

もう少しわかりやすくするために、次の 2 つのスクリーン キャプチャを示します。 ここに画像の説明を入力

ここに画像の説明を入力

ご覧のとおり、名前は異なりますが、両方のファイルが左側の列に同じように表示されます。個人的には、環境がファイルの種類を自動的に識別するため、html ファイルに拡張子を追加しません。

于 2013-02-05T09:41:54.537 に答える
0

このコードを機能させることができました。これが他の人に役立つことを願っています: (返品は必要ないことに注意してください。)

function doGet() {
var t = HtmlService.createTemplateFromFile('myTemplate');
var htmlOutput =  t.evaluate();
var doc = SpreadsheetApp.getActive();
doc.show(htmlOutput);
}
于 2013-02-05T17:50:16.493 に答える