scripting - google apps script - batch setValues() on Sheet -


in order optimize code, i'm trying batch updates. instead of calling setvalues() on loop, want store data in array, setvalues() once after loop. however, can't make work:

var tempvaluesarr= []; var ctr = 0;  ....{    //there 1 row needed every second sheet, data @ 2nd    //row 6 columns   var secondsheetrange = secondsheet.getrange(2, 1, 1, 6);     tempvaluesarr.push(secondsheetrange.getvalues());   ctr++; }  //finally, copy these tempvalues @ sheet, starting @ second row var anothersheetrange = anothersheet.getrange(2, 1, ctr, 6); anothersheetrange .setvalues(tempvaluesarr);   

here's error i'm getting:

incorrect range width, 1 should 6

thanks!

i think issue pushing 2d array ( [[cella2, cellb2], [cella3, cellb3]] ) 1d array ( [] ), leaving 3d array ( [[[cella2, cellb2], [cella3, cellb3]]] ).

to use setvalues need 2d ( [[cella2, cellb2], [cella3, cellb3]]- 2 rows or [[cella2, cellb2]]- 1 row ) array of values.

try this, push first 1d array ( [cella2, cellb2, cellc2] ) range empty array created @ start. more information here.

tempvaluesarr.push(secondsheetrange.getvalues()[0]) 

Comments

Popular posts from this blog

facebook - android ACTION_SEND to share with specific application only -

python - Creating a new virtualenv gives a permissions error -

javascript - cocos2d-js draw circle not instantly -