ReferenceError:" Sheets"没有定义

时间:2017-08-11 02:20:50

标签: javascript json google-sheets

这是我第一次使用脚本编辑器。我被分配做一个脚本来为谷歌表格的数据透视表。

  //creating pivot table through script editor for google sheet
  function addPivotTable() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetName = "Sheet1";

  // Create a new sheet which will contain our Pivot Table
  var pivotTableSheet = ss.insertSheet();
  var pivotTableSheetId = pivotTableSheet.getSheetId();

 // Add Pivot Table to new sheet
 // Meaning we send an 'updateCells' request to the Sheets API
 // Specifying via 'start' the sheet where we want to place our Pivot Table
 // And in 'rows' the parameters of our Pivot Table 

  var requests = [{
    // Meaning we send an 'updateCells' request to the Sheets API
    "updateCells": {
        // And in 'rows' the parameters of our Pivot Table 
       "rows": {
         "values": [
      {
         // Add Pivot Table to new sheet
        "pivotTable": {
          "source": {
            "sheetId": ss.getSheetByName(sheetName).getSheetId(),
            "startRowIndex": 0,
            "startColumnIndex": 0,
          },
          //create rows from the selected columns
          "rows": [
            {
              "sourceColumnOffset": 14,
              "showTotals": true,
              "sortOrder": "ASCENDING",   
            },
          ],
          //show values from the selected columns
          "values": [
            {
              "summarizeFunction": "COUNTA",
              "sourceColumnOffset": 10
            }
          ],
          //display in horizontal layout
          "valueLayout": "HORIZONTAL"
        }
      }
    ]
  },
  // Specifying via 'start' the sheet where we want to place our Pivot Table
  "start": {
    "sheetId": pivotTableSheetId,
  },
  "fields": "pivotTable"
}
 }];

  Sheets.Spreadsheets.batchUpdate({'requests': [requests]}, ss.getId());
}

请检查我的代码并解释我在哪里运行脚本编辑器时出错了错误说明表没有定义弹出窗口。 " ReferenceError:"表格"没有定义。 (第46行,文件"代码")解散"

3 个答案:

答案 0 :(得分:7)

来自谷歌的这项高级服务。您需要在使用之前启用此服务。 https://developers.google.com/apps-script/guides/services/advanced 在脚本编辑器中,选择Resources>高级Google服务.... 在出现的对话框中,单击要使用的服务旁边的开/关开关。 在对话框的底部,点击Google API控制台的链接。 在控制台中,单击过滤器框并键入API名称的一部分(例如,“日历”),然后在看到名称后单击该名称。 在下一个屏幕上,单击“启用API”。 关闭API控制台并返回脚本编辑器。在对话框中单击“确定”。您启用的高级服务现在可以自动填充。

答案 1 :(得分:0)

仅限初学者:

您可以尝试:

var sheet=ss.getSheetByName('Sheet1');

您需要阅读documentation

答案 2 :(得分:0)

只需从此处添加所需的服务,就您而言,您需要 Google Sheets API。祝你好运。

Just add the service from here, Good Luck