Exportar correo de Gmail a Google Sheets (o Excel)

Exportar correos de Gmail directamente a Excel no es una función nativa de un solo clic, pero puedes lograrlo fácilmente usando varios métodos según lo que te resulte más cómodo.

Usando Google Sheets y AppScript (El más directo a Excel)

Este método crea una hoja de cálculo con tus correos automáticamente.

  1. Abre una nueva hoja en Google Sheets.
  2. Ve a Extensiones > Apps Script.
  3. Borra el código que aparezca y pega uno que use la función GmailApp.search().
    • Para el rango de fechas, usa el formato: after:2023/01/01 before:2023/12/31.
  4. Ejecuta el script y tus correos aparecerán en la hoja. Luego solo tienes que ir a Archivo > Descargar > Microsoft Excel (.xlsx).

Este script buscará los correos en el rango de fechas que elijas y los escribirá automáticamente en las filas de tu hoja de cálculo.

Google Sheets tiene acceso a Appscripts

Te explico paso a paso:

Paso 1: Abrir la hoja de cálculo

  1. Ve a sheets.new para crear una hoja de cálculo de Google en blanco.
  2. En el menú superior, haz clic en Extensiones > Apps Script.

Paso 2: Copiar y pegar el código

Borra cualquier código que aparezca en el editor (como function myFunction() {...}) y pega el siguiente código:

function exportarCorreosGmail() {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // 1. CONFIGURA AQUÍ TU BÚSQUEDA (Rango de fechas y filtros)
  // Ejemplo: correos desde el 1 de enero 2024 hasta el 31 de enero 2024
  var query = "after:2024/01/01 before:2024/01/31"; 
  
  // Limpia la hoja antes de empezar y añade los encabezados
  hoja.clear();
  hoja.appendRow(["Fecha", "Remitente", "Asunto", "Mensaje (Resumen)"]);

  // Busca los hilos de correo
  var hilos = GmailApp.search(query);
  
  for (var i = 0; i < hilos.length; i++) {
    var mensajes = hilos[i].getMessages();
    
    for (var j = 0; j < mensajes.length; j++) {
      var fecha = mensajes[j].getDate();
      var remitente = mensajes[j].getFrom();
      var asunto = mensajes[j].getSubject();
      var cuerpo = mensajes[j].getPlainBody().substring(0, 200); // Solo los primeros 200 caracteres para no saturar la celda
      
      // Escribe los datos en la siguiente fila disponible
      hoja.appendRow([fecha, remitente, asunto, cuerpo]);
    }
  }
  
  SpreadsheetApp.getUi().alert("Exportación finalizada con éxito.");
}

Paso 3: Guardar y ejecutar de Gmail a Google Sheets

  1. Haz clic en el icono del disco (Guardar) y ponle un nombre al proyecto (ej. «Exportador Gmail»).
  2. Haz clic en el botón Ejecutar (el icono de «Play»).

Paso 4: Dar permisos de seguridad

Como es un script que accede a tus correos personales, Google te pedirá autorización:

  1. Aparecerá una ventana: haz clic en Revisar permisos.
  2. Selecciona tu cuenta de Google.
  3. Te saldrá un aviso de «Google no ha verificado esta aplicación» (es normal porque el script lo acabas de escribir tú). Haz clic en Configuración avanzada (abajo a la izquierda).
  4. Haz clic en Ir a Exportador Gmail (no seguro).
  5. Finalmente, haz clic en Permitir.

Paso 5: Descargar de Google Sheets a Excel

Una vez que el script termine (verás el aviso en la hoja de cálculo), todos tus correos aparecerán en las filas. Ahora solo queda:

  1. En la hoja de cálculo, ve a Archivo.
  2. Selecciona Descargar.
  3. Elige Microsoft Excel (.xlsx).

Notas importantes:

  • Formato de fecha: En la línea var query = "after:2024/01/01 before:2024/01/31";, asegúrate de usar el formato AAAA/MM/DD.
  • Límite: Google permite procesar hasta 500 hilos de una vez con este método básico. Si tienes miles de correos, es mejor filtrar por periodos más cortos (mes a mes).

Deja un comentario

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

Scroll al inicio