Como exportar todo un spreadsheet con Google Apps Script

 Un lector me ha pedido hace poco como montar un sistema extracción que permita sacar la información de diferentes hojas y agruparlas dentro de otro documento con Google Apps Script.

Me ha parecido un ejercicio interesante, así que, aquí lo tenéis:

function ExportAllSheets()

{
   var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
   var sheets = spreadsheet.getSheets();
   var extractedfile = SpreadsheetApp.create("Extract");
   var out = extractedfile.getSheets()[0];
   
   for(var i = 0 ; i < sheets.length ; ++i)
   {
      var sheet = sheets[i];
      var values = sheet.getDataRange().getValues();
      out.getRange(out.getLastRow()+1, 1, values.length, values[0].length).setValues(values);
   }
   
   Logger.log(extractedfile.getUrl());
}

No es un código complicado pero como ejercicio práctico con cierta utilidad está bastante bien.

Si tenéis cualquier otra propuesta no vaciléis en hacérmela llegar

Nos vemos



2 comentarios:

  1. Es posible extraer las hojas a una hoja de cálculo ya creada? Es decir que no se cree un documento nuevo al momento de exportar si no que vaya a uno ya creado

    ResponderEliminar
    Respuestas
    1. Si claro. En vez de crear el spreadsheet nuevo: var extractedfile = SpreadsheetApp.create("Extract"); deberias seleccionar uno ya existente.

      Es fácil. Intentalo. Si no te sale, avisame y te digo como hacerlo.

      Eliminar

Tal vez te interese