我有一张Google Sheet,其中包含单元格A1和A2中的值。此工作表中还创建了一个index.html文件。我想在html文件中显示Google表格中的信息。这就是我所拥有的:
Code.gs:
function myFunction() {
var html = HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, 'Display Sheet Data');
}
的index.html:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function setPageValues () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var myFirstValue = ss.getRange(1, 1).getValue();
var mySecondValue = ss.getRange(2, 1).getValue();
document.getElementById("first").innerHTML = myFirstValue;
document.getElementById("second").innerHTML = mySecondValue;
}
</script>
</head>
<body onload="setPageValues()">
<br>data from cell A:1 = <span id="first"></span>
<br>data from cell A:2 = <span id="second"></span>
</body>
</html>
当我从Google Sheet脚本编辑器运行myFunction时,包含index.html页面的窗口会正确显示。工作表值不会。
我觉得愚蠢的问一些似乎应该是如此基本的东西但是......&#34;每个人都是一个菜鸟#34;!提前谢谢!
答案 0 :(得分:0)
以下修改过的脚本怎么样?要使用Google Apps脚本检索和发送数据,您可以使用google.script.run
。
function myFunction() {
var html = HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, 'Display Sheet Data');
}
function getValuesFromSS(range) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
return ss.getRange(range).getValues();
}
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function setPageValues () {
google.script.run.withSuccessHandler(disp).getValuesFromSS("A1:A2");
}
function disp(values){
document.getElementById("first").innerHTML = values[0][0];
document.getElementById("second").innerHTML = values[1][0];
}
</script>
</head>
<body onload="setPageValues()">
<br>data from cell A:1 = <span id="first"></span>
<br>data from cell A:2 = <span id="second"></span>
</body>
</html>
如果我误解了你的问题,我很抱歉。