0

我正在运行一个模板化的谷歌脚本,该脚本构建一个包含谷歌电子表格内容的 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>

似乎问题出在第二个电子表格中。

任何帮助将不胜感激。

4

2 回答 2

0

使用 .getActiveSheet() 脚本将是: function doGet() { return HtmlService .createTemplateFromFile('index') .evaluate(); }

function getData() { var mysheet = SpreadsheetApp.openById('SPREADSHEET_KEY') .getActiveSheet() .getDataRange().getValues(); 返回我的表格;}

于 2015-01-23T13:23:39.343 回答
0

您当前分配给 mysheet 的引用指的是整个文档。您仍然需要获取对包含数据的工作表的引用。

function getData() {
  var spreadsheet = SpreadsheetApp.openById('SPREADSHEET_KEY').getDataRange().getValues();
  var mysheet = spreadsheet.getSheetByName('NameOfTheSheet');
  return mysheet;
}
于 2014-04-23T17:30:54.697 回答