【发布时间】:2018-10-07 00:49:33
【问题描述】:
我有一个非常基本的问题 - 我正在尝试使用硬编码数组填充 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;
};
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
我认为问题的原因在
destSheet.getRange(lastFilledRowInColumnA+1,1)。在这种情况下,二维数组的每个元素都需要为“1”。那么修改成destSheet.getRange(lastFilledRowInColumnA+1,1,saleData.length,saleData[0].length)怎么样呢?参考是here。 -
成功了,谢谢! (感谢您指导我参考)
-
感谢您的回复。我很高兴你的问题得到了解决。您可以发布答案并接受吗?我认为这对有同样问题的用户很有用。
标签: javascript google-apps-script google-sheets