2017-10-19 19 views
0

Je reçois l'erreur de longueur lors de l'exécution de ce script, mais si je commente la condition et que je tire tout, il n'y a pas de problème. Erreur dans la ligne "sp.getRange (1,1, data.length, data [0] .length) .setValues ​​(data);"Google App Script TypeError: Impossible de lire la propriété "longueur" à partir de indéfini

J'ai vérifié trois fois que la colonne 22 est la colonne que je veux (colonne V) et les critères "Denver" existent dans cette colonne mais rien n'est retourné aux données.

Toute explication serait appréciée.

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); 

} 

Répondre

1

Le problème est que les tableaux JavaScript utilisent un index 0 base, donc, la colonne V, a 21 comme son index, et non 22, et vous obtenez le message d'erreur non définie parce que la colonne V est la dernière colonne.