【问题标题】:Google App Script TypeError: Cannot read property "length" from undefinedGoogle App Script TypeError:无法从未定义中读取属性“长度”
【发布时间】:2017-10-20 02:18:34
【问题描述】:

我在运行此脚本时收到长度错误,但如果我注释掉条件并拉出所有内容,则没有问题。 “sp.getRange(1,1,data.length,data[0].length).setValues(data);”行出错

我已经三重检查了第 22 列是我想要的列(第 V 列),并且该列中存在标准“Denver”,但没有任何内容返回到数据中。

任何解释将不胜感激。

function Packaging() {
 var t = SpreadsheetApp.openById('1kNq2irlV39yDRtuJPrkb3-572guw4wn9UsR2t5_I0pR');

 //Grab PACKAGING COST
var pp = t.getSheetByName('RawData');
var ppk = pp.getRange(1,1,pp.getLastRow(),pp.getLastColumn()).getValues();
var data = []                       
for (var i = 0; i< ppk.length ; i++){
if(ppk[i][22] == "Denver")        
{
data.push(ppk[i])
}
}

//Write in current sheet
var s = SpreadsheetApp.getActiveSpreadsheet();


//Write Packaging
var sp = s.getSheetByName('PackagingCost2');
sp.getRange(1,1,sp.getLastRow(),sp.getLastColumn()).clearContent();
sp.getRange(1,1,data.length,data[0].length).setValues(data);  
//sp.getRange(1,1,ppk.length,ppk[0].length).setValues(ppk);  

}

【问题讨论】:

    标签: javascript google-apps-script


    【解决方案1】:

    问题在于 JavaScript 数组使用基于 0 的索引,因此 V 列的索引为 21,而不是 22,并且您会收到未定义的错误消息,因为 V 列是最后一列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 2020-07-20
      • 2020-03-07
      相关资源
      最近更新 更多