动态Google电子表格数据到HTML

时间:2013-02-05 03:15:25

标签: html templates google-apps-script

在将电子表格生成到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>

2 个答案:

答案 0 :(得分:0)

只是一个建议我没有发表评论,因为它需要一些高级格式化......

您正在示例中将html模板显示为'myTemplate.html',是否使用扩展名命名,或者是否显示html扩展名,因为它在屏幕上显示为?

我注意到如果html文件名为myTemplate.html或只是myTemplate,则两个文件在脚本编辑器界面中以相同的方式显示,但它们肯定是不同的文件。 可能是错误的来源。

为了使事情更清楚,这里有2个屏幕截图,说明: enter image description here

enter image description here

正如您所看到的,两个文件在左栏中显示相同,尽管它们的名称不同。 我个人不会为html文件添加扩展名,因为环境会自动识别文件类型。

答案 1 :(得分:0)

我能够使用此代码。希望这有助于其他人:(注意 return 不需要。)

function doGet() {
var t = HtmlService.createTemplateFromFile('myTemplate');
var htmlOutput =  t.evaluate();
var doc = SpreadsheetApp.getActive();
doc.show(htmlOutput);
}