Como exportar todas las hojas de un spreadsheet en una sola hoja 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

Entradas populares