Проблема размера массива при копировании GoogleSheet на другой лист - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно получить лист данных в виде массива, выполнить некоторую обработку, а затем сохранить его на другом листе.

Без попытки какой-либо промежуточной обработки,

var booking = getRowsData(sheet);  //should create the array

var range = target.getRange(lastDBRow+1,1,numRows); //obtains the destination range (numRows logged as 3)

тогда

range.setValues([booking]); //tries to save the values but throws an error "Incorrect range height, was 1 but should be 3"

Проверка объекта бронирования с помощью

var response = ui.prompt(booking.length + "  " + booking[0].length, ui.ButtonSet.OK);

показывает длину 3 и booking [0] .length (которое я понял как столбцы) как неопределенное ....

Так почему же длина строки не соответствует? И должно ли значение столбцов быть неопределенным?

Заранее спасибо!

Полный код:

var ss = SpreadsheetApp.getActive(); 
var sheet = ss.getSheetByName('New booking');
var headers = sheet.getRange(1, 1,1,sheet.getLastColumn());
var lastRow = sheet.getLastRow();
var numRows= lastRow-1

var target = ss.getSheetByName('Test');  //temp redirect to test sheet
var lastDBRow =target.getLastRow();      //we want to append the data after this


var booking = getRowsData(sheet);        // Get data to copy as array object
= ui.prompt(booking.length + "  " + booking[0].length, ui.ButtonSet.OK);
//                                       Returns 3  Undefined

var response = ui.prompt(numRows, ui.ButtonSet.OK);
//                                         Returns 3

var range = target.getRange(lastDBRow+1,1,numRows);   //  Must match range size
range.setValues([booking]);
}

1 Ответ

0 голосов
/ 07 ноября 2018

Мне кажется, что в этом диапазоне не определено количество столбцов: var range = target.getRange (lastDBRow + 1,1, numRows); // Должен соответствовать размеру диапазона range.setValues ​​([бронирование]); Не собираясь использовать debug, я не могу подтвердить свою идею, но я вижу, что вы определяете начальную строку, начальный столбец и количество строк, но не количество столбцов. Я не знаю наверняка, будет ли это сообщение об ошибке вызвано этим, но похоже, что-то нужно учитывать.

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