Importar y Exportar Archivos CSV en Google Sheets con Google Apps Script

Hoy hablaremos de Google Sheets y todo lo relacionado con los archivos CSV. Vamos a ver qué es un archivo CSV y cómo importarlo y exportarlo directamente desde Google Sheets. Además, exploraremos cómo automatizar estos procesos usando macros y Google Apps Script, ya sea mediante un menú personalizado o configurando tareas automáticas que se ejecuten diariamente.

Introducción

Los archivos CSV (Archivos Seprados por Comas, o Comma Separated Values) son una manera sencilla y eficiente de manejar grandes cantidades de datos. Estos archivos son livianos y ampliamente compatibles, lo que los hace ideales para transferir datos entre diferentes programas y plataformas.

¿Qué es un archivo CSV?

Un archivo CSV es un archivo de texto simple que almacena datos tabulares (números y texto) en formato de texto sin formato. Cada línea del archivo es un registro de datos, y cada registro consta de uno o más campos, separados por comas.

Ejemplo de un archivo CSV:

Producto,Categoría,Precio,Cantidad
Producto A,Electrónica,100,50
Producto B,Electrónica,150,30
Producto C,Hogar,200,20

Exportar CSV desde Google Sheets

Paso 1: Exportar manualmente

  1. Abre tu Google Sheets.
  2. Ve a Archivo > Descargar > Valores separados por comas (.csv).

Paso 2: Exportar automáticamente usando Google Apps Script

  1. Abre el editor de scripts en tu Google Sheets (Extensiones > Apps Script).
  2. Añade el siguiente código para exportar la hoja actual como un archivo CSV y enviarlo por correo electrónico:
function exportarCSV() {
  const libro = SpreadsheetApp.getActiveSpreadsheet();
  const hoja = libro.getActiveSheet();
  const nombreHoja = hoja.getName();
  const idHoja = hoja.getSheetId();
  const url = `https://docs.google.com/spreadsheets/d/${libro.getId()}/gviz/tq?tqx=out:csv&sheet=${nombreHoja}`;

  const response = UrlFetchApp.fetch(url);
  const csvBlob = response.getBlob().setName(nombreHoja + '.csv');

  // Guarda el archivo en Google Drive
  const carpeta = DriveApp.getFolderById('YOUR_FOLDER_ID'); // Reemplaza con tu ID de carpeta
  carpeta.createFile(csvBlob);

  // Enviar por correo electrónico
  MailApp.sendEmail({
    to: 'youremail@example.com',
    subject: 'CSV Exportado',
    body: 'Adjunto el archivo CSV exportado.',
    attachments: [csvBlob]
  });
}

Configurar una tarea automatizada

  1. Ve a Reloj de Activadores en el editor de scripts (Reloj de Activadores > Crear nuevo activador).
  2. Configura el activador para ejecutar exportar CSV a una hora específica cada día.

Importar CSV en Google Sheets

Paso 1: Importar manualmente

  1. Ve a Archivo > Importar.
  2. Sube el archivo CSV desde tu computadora.
  3. Selecciona cómo deseas importar los datos (reemplazar hoja actual, crear nueva hoja, etc.).

Paso 2: Importar automáticamente usando Google Apps Script

  1. Añade el siguiente código para importar un archivo CSV desde Google Drive a una hoja específica en Google Sheets:
function importarCSV() {
  const archivoId = 'YOUR_CSV_FILE_ID'; // Reemplaza con el ID de tu archivo CSV en Google Drive
  const archivo = DriveApp.getFileById(archivoId);
  const csvBlob = archivo.getBlob().getDataAsString();

  const datos = Utilities.parseCsv(csvBlob);

  const libro = SpreadsheetApp.getActiveSpreadsheet();
  const hoja = libro.getSheetByName('Importar'); // Asegúrate de que esta hoja exista
  hoja.clear(); // Limpia la hoja antes de importar nuevos datos

  hoja.getRange(1, 1, datos.length, datos[0].length).setValues(datos);
}

Configurar una tarea automatizada

  1. Ve a Reloj de Activadores en el editor de scripts (Reloj de Activadores > Crear nuevo activador).
  2. Configura el activador para ejecutar importarCSV a una hora específica cada día.

Crear un Menú Personalizado en Google Sheets

  1. Añade el siguiente código para crear un menú personalizado que te permita ejecutar las funciones de importar y exportar CSV desde el menú:
function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('CSV')
    .addItem('Exportar CSV', 'exportarCSV')
    .addItem('Importar CSV', 'importarCSV')
    .addToUi();
}

Conclusión

Hemos cubierto cómo importar y exportar archivos CSV en Google Sheets, tanto manualmente como automáticamente usando Google Apps Script. También aprendimos a crear un menú personalizado para ejecutar estas funciones con un solo clic. Estos métodos son extremadamente útiles para automatizar el manejo de datos y optimizar tu flujo de trabajo.

Para más tutoriales, plantillas y cursos, visita JuanesGuzman.com. ¡Gracias por ver y nos vemos en el próximo tutorial!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This