Заполните строку Google Sheet массивом с помощью Google Script - неверная ширина диапазона - PullRequest
0 голосов
/ 03 октября 2018

У меня очень простой вопрос - я пытаюсь заполнить первую пустую строку в Google Sheets жестко запрограммированным массивом (затем я буду работать над заполнением его данными, извлеченными из другого листа).

Я продолжаю получать сообщение «Неправильная ширина диапазона, было 14, но должно быть 1».

Я пытаюсь сделать это, используя следующий код:

function populateSaleData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var saleData = new Array()
  saleData.push(["43376","John","Product","30","Dollars","30","yes","5","card","712.5","Adam","xyz@gmail.com","US","XYZ123456"])

  var destSheet = ss.getSheetByName('Sales');
  var lastFilledRowInColumnA = getLastPopulatedRow(destSheet.getRange('A:A').getValues());
  var destRange = destSheet.getRange(lastFilledRowInColumnA+1,1);
  destRange.setValues(saleData);
};

function getLastPopulatedRow(data) {
  for (var i=data.length-1;i>=0;i--)
    for (var j=0;j<data[0].length;j++)
      if (data[i][j]) return i+1;
  return 0;
};

Я был бы очень благодарен за любыепомощь.

1 Ответ

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

Комментарий Танаике решил мою проблему:

Я думаю, что причина проблемы в destSheet.getRange(lastFilledRowInColumnA + 1, 1).В этом случае каждый элемент 2-мерного массива должен быть равен «1».Так как насчет модификации на destSheet.getRange(lastFilledRowInColumnA + 1, 1, saleData.length, saleData[0].length)?Ссылка на метод: здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...