从Google表格中提取数据并显示在HTML H3标签中



我试图从谷歌表格中提取数据,并在H3标签中显示具有特定的id。这是我的Google表单的链接。我只想从该工作表中拉出价格,并在H3标签中显示。我怎样才能做到这一点呢?

Code.gs

function doGet() {
var temp = HtmlService.createTemplateFromFile('index');
temp.list = getValues();
return temp.evaluate();
}
function getValues() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ws = ss.getSheetByName('Sheet1');
var lastRow = ws.getLastRow();
var numRow = lastRow - 1;
return ws.getRange(2,1,numRow,2).getValues();
}

HTML

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>50-74 gallons: </h1><h3 id="firstPrice"></h3>
<h1>74-99 gallons: </h1><h3 id="secondPrice"></h3>
<h1>100-124 gallons: </h1><h3 id="thirdPrice"></h3>
</body>
</html>

由于您已经在模板变量(list)中拥有工作表值,因此迭代该变量,考虑到它是一个2D数组,并且每个内部数组有两个元素,对应于GallonsPrice:

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<? for(var i=0; i<list.length; i++){ ?>
<h1><?= list[i][0] ?></h1>
<h3 id=<?= `price_${i+1}` ?>><?= list[i][1] ?></h3>
<? } ?>
</body>
</html>

如果您希望每个h3都有一个表示索引的id(就像您写的firstPrice一样),您可以为每个id添加循环索引,例如上面的代码片段所示:

id=<?= `price_${i+1}` ?>

重要提示:

请注意,这只适用于Apps Script web应用程序。语法<?= ?>是专门为Apps Script设计的,如果您在另一个环境中尝试它将不起作用。看到scriptlet。

编辑:

如果您不想使用循环,而是想手动编写HTML元素,您可以这样做:

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1><?= list[0][0] ?></h1><h3 id="firstPrice"><?= list[0][1] ?></h3>
<h1><?= list[1][0] ?></h1><h3 id="secondPrice"><?= list[1][1] ?></h3>
<h1><?= list[2][0] ?></h1><h3 id="thirdPrice"><?= list[2][1] ?></h3>
</body>
</html>

最新更新