【问题标题】:Getting Type Error: GetDataRage is null? in google apps script for my google site获取类型错误:GetDataRage 为空?在我的谷歌网站的谷歌应用脚​​本中
【发布时间】:2017-04-26 21:45:28
【问题描述】:

我正在尝试编写一个允许我使用 Google 表格的 Google 应用程序脚本。我希望应用程序读取工作表上的数据,然后将表格输出到我的 Google 网站。我还希望能够选择要在 Google 网站上显示的列。我不能使用 Awesome Tables,因为我的 Google Drive 包含敏感的客户信息——所以我不想授予 Awesome Table 的访问权限。 (我的目标是在不使用该应用程序的情况下创建类似于“很棒的表格”人员目录的东西)。过去两天我一直在研究——我意识到我可能必须编写自己的 Google 应用脚本。问题是我还没有那么精通 JavaScript。所以,下面的代码是我想出的 - 但我收到了这个错误:

TypeError:无法调用 null 的方法“getDataRange”。 (第 4 行,文件“代码”,项目“员工页面应用脚本”)

另外,我尝试使用 Debugger —— 对我来说,它看起来像是在用我的数据创建一个数组,但我看不到问题所在。 为什么这不起作用?任何人都可以将我发送到有模板的地方,以帮助我从 Google 表格中读取数据并按照我的规范(某些列等)显示吗?

function doGet(){

  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {

    var JSONString = JSON.stringify(data);
    var JSONOutput = ContentService.createTextOutput(JSONString);
    JSONOutput.setMimeType(ContentService.MimeType.JSON);
    return JSONOutput
  }
}

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    您需要指定要访问的电子表格: 像这样:

    var ss = SpreadsheetApp.openById("Your Sheet ID here")
    

    然后您将访问电子表格中的特定工作表/标签,如下所示:

    var sheet = ss.getSheetByName("Name of your Sheet");
    

    请注意,您必须分别将“您的工作表 ID”和“工作表名称”替换为您的 sheet ID 和工作表名称,代码才能正常工作。有关上面使用的功能的更多信息,请访问google apps script reference page

    完整代码如下:

    function doGet(){
      var ss = SpreadsheetApp.openById("Your Sheet ID here")
      var sheet = ss.getSheetByName("Name of your Sheet");
      var data = sheet.getDataRange().getValues();
      for (var i = 0; i < data.length; i++) {
    
        var JSONString = JSON.stringify(data);
        var JSONOutput = ContentService.createTextOutput(JSONString);
        JSONOutput.setMimeType(ContentService.MimeType.JSON);
        return JSONOutput
       }
     }
    

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多