2017-10-19 99 views
0

運行此腳本時,我收到長度錯誤,但如果我註釋掉條件並拉出所有內容,則不存在任何問題。錯誤行「sp.getRange(1,1,data.length,data [0] .length).setValues(data);」Google App腳本類型錯誤:無法從undefined讀取屬性「長度」

我有三重檢查,列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); 

} 

回答

1

的問題是,JavaScript數組使用基於0的指數,所以,列V,有21個因爲它的索引,而不是22,你會得到未定義錯誤消息,因爲V列是最後一列。

相關問題