Попытка просмотреть лист после открытия электронной таблицы с помощью openById () в листах Google - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть Google Sheets с D3.JS, я пытаюсь использовать конкретный лист в файле электронной таблицы, поскольку именно там расположена таблица для графика, который я пытаюсь показать.Пока что openById работает, но все еще не может найти конкретный лист в электронной таблице.

function getChartData() {
  var ss = SpreadsheetApp.openById("some id");
  var sheet = ss.getActiveSheet();

  var headings = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
     .map(function(heading) {
       return heading.toLowerCase();
     });
  ...
}

РЕДАКТИРОВАТЬ: я пробовал следующие изменения кода ниже:

function getChartData() {
  var ss = SpreadsheetApp.openById("some id");
  var sheet = ss.getSheetByName("Tracker1");

  // new code above
  var headings = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
      .map(function(heading) {
        return heading.toLowerCase();
      });
  Logger.log(headings);

  var values = sheet.getRange(3, 1, sheet.getLastRow()-2, sheet.getLastColumn()).getValues();

  var data = [];
  for (var i = 0; i < values.length; i++) {
    var obj = {};
    for (var j = 0; j < values[i].length; j++) {
      obj[headings[j]] = values[i][j];
    }
    data.push(obj);
  }

  return data;
}

РЕДАКТИРОВАТЬ 02/2/18 23:00: я все еще получаю null,нет сообщений об ошибках, не отображается график в приложенииЯ уверен, что делаю что-то не так, даже не имея getActiveSheet();

...