Запись элемента в каждом ряду нового листа - PullRequest
0 голосов
/ 18 октября 2018

У меня есть массив данных.Я хотел бы записать каждый элемент массива в строку на новом листе.Кроме того, я хотел бы, чтобы каждый элемент в элементе был в следующей ячейке.Я не уверен в том, как я это делаю.

Я думаю, что вложенный цикл может быть решением, которое я попробовал ниже.Ему удается распечатать каждый элемент на Logger;теперь мне просто нужен способ записать его в таблицу в строках.

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var data = [['Mr. Gerald', 'Monday', '2:10'], ['Mr. Holmes', 'Tuesday', '3:00']]
  var dataSheet = ss.getActiveSheet()
  var startRange = dataSheet.getRange(1,1)

  for (var i = 0; i < data.length;i++) {
    for (var a = 0; a<data[i].length; a++) {
      Logger.log(data[i][a])
    }}  
}

Вывод должен выглядеть следующим образом

Любая помощь будет оценена, спасибо!

1 Ответ

0 голосов
/ 18 октября 2018

Ваш data находится в фактическом формате, который требуется в листе:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var data = [['Mr. Gerald', 'Monday', '2:10'], 
              ['Mr. Holmes', 'Tuesday', '3:00']];
  var dataSheet = ss.getActiveSheet();
  dataSheet.getRange(1,1,data.length,data[0].length).setValues(data); //or use Advanced Google Services    
}

Если data не имеет квадратной / прямоугольной формы, используйте Расширенные службы Google :

  var request = {
    range: dataSheet.getName() + '!A1',
    majorDimension: 'ROWS',
    values: data,
  };
  //API must be enabled before use. 
  //https://developers.google.com/apps-script/advanced/sheets
  Sheets.Spreadsheets.Values.update(request, ss.getId(), request.range, {
    valueInputOption: 'USER_ENTERED',
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...