我正在开发谷歌应用程序脚本中的应用程序,我有一个问题,即以下内容:我在谷歌电子表格中有一个数据列表,我试图在html中显示此列表,但没有显示任何内容,代码如下。
附加文件代码scipt
var sheet = SpreadsheetApp.openById("xxxxxxxxxxxx").getSheetByName("Listas");
var lastRow = sheet.getLastRow();
var lasColum = sheet.getLastColumn();
var myRange = sheet.getRange("A2:A"+lastRow);
var data = myRange.getValues();
function getOptionsCargos(){
var data = sheet.getRange(1,2).getDataRegion().getValues();
return data.sort().map(d => "<option>" +d+ "</option>").join();
}
Html
<div class="mb-2">
<label for="apellidos" class="form-label">Apellidos</label>
<input type="text" class="form-control" name="apellidos" id="apellidos" pattern="[^0-9]*" title="El nombre no puede contener números" list="lista" required>
<datalist id="lista">
<?!=getOptionsCargos()?>'
</datalist>
</div>
我希望有人能帮助我
显示数据
gs:
function lfunko() {
const ss = SpreadsheetApp.openById("1zKx8B4jSRTUue9npBoB6IolW6-u-LcllZJNLh8tQkzY");
var sh = ss.getSheetByName("Listas");
var myRange = sh.getRange("A2:A" + sh.getLastRow());
var data = myRange.getValues().flat().join("<br>");
SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(data),"List Data in Dialog");
}
或
gs:
function lfunko() {
const ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName("Sheet0");
var myRange = sh.getRange("A2:A" + sh.getLastRow());
var data = myRange.getValues();
return data;
}
function runthis(){
SpreadsheetApp.getUi().showModelessDialog(HtmlService.createTemplateFromFile('ah1').evaluate(),'My List');
}
html(文件:ah2.html):
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<div id="tabledata">
<? var vs = lfunko(); ?>
<table>
<? vs.forEach((r,i)=>{ ?>
<tr>
<? r.forEach((c,j)=>{ ?>
<? if(i == 0) { ?>
<th style="padding:2px 5px;font-weight:bold;border:1px solid black;"><?= c ?> </th>
<? } else { ?>
<td style="padding:2px 5px;border:1px solid black;"><?= vs[i][j] ?> </td>
<? } ?>
<? }); ?>
</tr>
<? }); ?>
</table>
</div>
</body>
</html>