我正在运行模板化的google脚本,该脚本构建了一个包含Google电子表格内容的html页面。
当我使用电子表格https://docs.google.com/spreadsheet/ccc?key=0AtDy2rbIwVyldE82MG50SkR3UWYyam5YRVd1ajZlcnc&usp=drive_web#gid=0运行脚本时,一切正常。
当我使用电子表格https://docs.google.com/spreadsheets/d/1A0Kd_BKeO9IB-SJvRMhC68q0XMQLrXarVVPlFJa_fMg/edit#gid=0运行脚本时,我收到的消息是我需要先选择一个有效的电子表格。
这是脚本:
function doGet() {
return HtmlService
.createTemplateFromFile('index')
.evaluate();
}
function getData() {
var mysheet = SpreadsheetApp.openById('SPREADSHEET_KEY').getDataRange().getValues();
return mysheet;
}
这是index.html文件:
<? var data = getData(); ?>
<table>
<? 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>
问题似乎在于第二个电子表格。
任何帮助都会被贬低。
答案 0 :(得分:0)
您当前分配给mysheet的引用是指整个文档。您仍然需要获取包含数据的工作表的引用。
function getData() {
var spreadsheet = SpreadsheetApp.openById('SPREADSHEET_KEY').getDataRange().getValues();
var mysheet = spreadsheet.getSheetByName('NameOfTheSheet');
return mysheet;
}
答案 1 :(得分:0)
使用.getActiveSheet() 并且脚本将是: function doGet(){ 返回HtmlService .createTemplateFromFile(&#39;指数&#39;) 。评估(); }
function getData(){ var mysheet = SpreadsheetApp.openById(&#39; SPREADSHEET_KEY&#39;) .getActiveSheet() .getDataRange()。getValues(); 返回mysheet; }