Como añadir una fila al final de un spreadsheet con Google Apps Script

En muchas ocasiones necesitamos incluir datos al final de un spreadsheet, ya sea por que estamos copiando datos de un spreadsheet a otro o por que hemos de crear un log , solo por poner un par de ejemplos.

Hay muchas manera de hacerlo, primero os enseñaré la manera que usa todo el mundo cuando está empezando con Google Apps Script y después os enseñaré como hacerlo en una sola linea.

function IntroducirNuevaFilaV1()
{
   var data = ["Antiguo", "Hola","Que tal?" , 54 , 893.45 , "Tegucigalpa"];
 
   var out = new Array();
 
   out.push(data);
 
   var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
 
   var row = sheet.getLastRow()+1;
 
   sheet.getRange(row, 1, 1, data.length).setValues(out);
}

Las principales características de este código es que has de convertir el vector de datos en un Array de una sola fila dado que el setValues solo acepta arrays, no vectores. Además de esto hay el inconveniente que hemos de ir calculando cual es la ultima fila escrita hasta el momento.

En resumen, 5 lineas de código para hacer una cosa muy muy sencilla.

Como podríamos hacerlo más fácil ( y limpio, y fácil :) )... usando appendRow.

function IntroducirNuevaFilaV2()
{
   var data = ["Nuevo", "Hola","Que tal?" , 54 , 893.45 , "Tegucigalpa"];
 
   SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data").appendRow(data); 
}

Las ventajas son claras, una sola línea de código, clara y sencilla, sin tener que preocuparnos de convertir a Array ni de buscar cual es la última fila escrita.

Además, tiene la ventaja de ser un 15% más rápido. Por norma general, con esté código la V2 siempre ha tardado menos de 0,7 segundos a ejecutarse mientras que la V1 siempre ha tardado más de 0,7 segundos. Tal vez la diferencia no sea muy grande pero cuando tenemos un proyecto grande todo tiempo que ganemos es un tesoro.

Aquí tenéis un ejemplo de como queda el resultado:

Espero que quede claro como hacerlo para introducir nuevas filas en un spreadsheet. Ya veis que es fácil y claro.

No vaciléis en hacerme llegar vuestras dudas.

Nos vemos!

No hay comentarios:

Publicar un comentario

Tal vez te interese

Entradas populares