我有一个非常基本的问题–我试图用硬编码数组填充Google表格中的第一个空行(然后,我将使用从另一张表单中提取的数据填充该行)。
我不断收到“错误的范围宽度,为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;
};
我将非常感谢您的帮助。
答案 0 :(得分:0)
Tanaike's comment解决了我的问题:
我认为问题的原因是destSheet.getRange(lastFilledRowInColumnA + 1, 1)
。在这种情况下,二维数组的每个元素都必须为“ 1”。那么如何修改为destSheet.getRange(lastFilledRowInColumnA + 1, 1, saleData.length, saleData[0].length)
?方法参考为here。