Я получаю сообщение об ошибке при использовании функции setValues()
для экспорта массива в листы Google.Я перепробовал много разных методов для создания своего 2D-массива, но все еще продолжаю получать те же ошибки.Иногда мой код запускается (массив будет экспортирован в электронную таблицу), но я все равно получаю сообщение об ошибке.
Первоначально я использовал функцию setValue()
в цикле for, но код истекает из-за слишком длительного выполнениядолго.Поэтому я попытался выгрузить все свои данные в 2D-массив и сразу передать их в электронную таблицу.
Попытался создать массив в виде пустого 2D-массива
var outputArray = [[]]
и использовать .push
заполнить данные в него
Попытка создания пустого массива с помощью функции:
function create2DArray(rows) {
var arr = [];
for (var i=0;i<rows;i++) {
arr[i] = [];
}
return arr;
}
и добавление данных в виде строк (внутри цикла for, который повторяется по rowNumber)
outputArray[rowNumber] = [data1, data2, data3,...]
Использовал ту же функцию, что и выше, для создания пустого массива и создания промежуточного массива, а затем поместил его в выходной массив
outputArrayIntermediate[0] = data1;
outputArrayIntermediate[1] = data2;
outputArrayIntermediate[2] = data3;
outputArrayIntermediate[3] = data4;...
outputArray[rowNumber] = outputArrayIntermediate;
Вот где ошибка продолжает возникать
var setRows = outputArray.length;
var setColumns = outputArray[0].length
revenueSheet.getRange(2,1,setRows,setColumns).setValues(outputArray);
Когда я включаю переменную setColumns, я получаю сообщение об ошибке: «Количество столбцов в данных не соответствует количеству столбцов в диапазоне. У данных 0, но в диапазоне 11».Это все равно заполняет данные в электронную таблицу.
Когда я не включаю переменную setColumns, я получаю ошибку: «Количество столбцов в данных не соответствует количеству столбцов в диапазоне. Данныеимеет 11, но диапазон имеет 1 ".