Exporta los eventos de tus calendarios para hacer tratamiento de los datos
Hace unos días un amigo me pidió ayuda para exportar sus eventos de Google Calendar a Excel, como yo no tengo instalado Excel estuve mirando otras alternativas y puede hacerse de forma sencilla con una Hoja de cálculo de Google y un pequeño script.
Por diferentes motivos podemos estar interesados en tener todos los datos y eventos de un calendario en una Hoja de cálculo, como por ejemplo, hacer gráficos de los tiempos que gastamos en ciertos eventos o simplemente ver todos los eventos en una sola página, en este tutorial os enseño cómo hacerlo.
Vamos a trabajar con una hoja de cálculo de Google que lleva integrado un script, es el que tendremos que modificar para adecuarlo a nuestras necesidades, elegir el calendario a exportar y los rangos de fechas.
① Lo primero que tenemos que hacer es descargar la hoja de cálculo, https://goo.gl/FQFafQ, como le he cambiado edit por copy al final de la URL el documento se copia de forma automática en nuestro Drive. La hoja de cálculo ya lleva los encabezados de los eventos.
② Una vez en la hoja de cálculo nos vamos a Herramientas -> Editor de secuencia de comandos.
③ Tenemos que modificar la línea 23 del código y escribir nuestro correo de Gmail o el id del calendario que queremos exportar.
var mycal = "username@gmail.com";
Escribiendo nuestro correo electrónico nos descargará los eventos a la hoja de cálculo de nuestro calendario principal, si queremos que se descargue un calendario específico tenemos que buscar el id de ese calendario. Para ello nos vamos al calendario y entramos en la Configuración -> Integrar el calendario
Una vez que tenemos el id del calendario lo sustituimos por el correo.
④ Modificamos en la línea 39 el rango temporal de los eventos, os aconsejo que si son muchos lo hagáis por partes, el script tiene un tiempo de ejecución pasado el cual se para.
var events = cal.getEvents(new Date("January 12, 2018 00:00:00 CST"), new Date("October 18, 2018 23:59:59 CST"), {search: '-project123'});
⑤ Opcionalmente podemos querer borrar la hoja de cálculo cada vez que se ejecute el script, para hacerlo tenemos que quitar las dos barras de la línea 54 (//).
sheet.clearContents();
⑥ Una vez modificado el script, guardamos y ejecutamos el código.
⑦ La primera vez que ejecutamos el código Google nos pedirá permisos para ejecutarlo desde la cuenta correspondiente.
Una vez que termine de ejecutarse tendremos todos los eventos en nuestra hoja de cálculo de Google y podremos tratarlos o descargarlos a nuestro PC y abrirlo con Excel o Apple Numbers. Si queréis hacer gráficas con los datos os aconsejo usar el botón Explorar de la hoja de cálculo de Google o si sois usuarios avanzados Data Studio de Google.
En Excel también puede hacerse, hay que descargar el archivo .ics de los calendarios de Google y al abrirlo se nos despliegan las opciones de importación y ahí radica el problema, por lo menos para mi, yo no he sido capaz de configurarlo correctamente mientras que con el script me ha resultado muy sencillo y no hay que tener nada instalado en el PC o Mac, probablemente a usuarios avanzados de Excel no les costará mucho pero para aquellos que no tienen instalado el programa o no saben mucho de Excel esta solución es más fácil.
Fuente: No he encontrado al autor del script, esta es la página de donde he sacado la información: https://www.cloudbakers.com/blog/export-google-calendar-entries-to-a-google-spreadsheet.
Por Vane septiembre 5, 2023 - 6:23 pm
Voy a llorar… gracias! ayyyyyy
Por janny julio 13, 2022 - 12:51 am
Gracias por compartir éste script, me es muy útil.
Por Daniela mayo 3, 2021 - 8:24 pm
Funcionó fantástico. Muchas gracias!!!
Por Maribel noviembre 1, 2020 - 8:40 pm
A mi me dicde que Google no ha verificado esta aplicación todavía Continúa solamente si conoces a su desarrollador y este es de confianza. Le doy para seguir pero no me lo hace.
Por Cesar Chacon agosto 31, 2020 - 8:54 pm
Hola, Espectacular me gustaria poderle agregarle un boton para cambiar fechas y usuario o correo
Por Rafael Nuñez-Lagos diciembre 20, 2019 - 7:30 pm
@Xiomara – Muchas gracias ;)
Por Xiomara Chicas diciembre 19, 2019 - 10:06 pm
Excelente aporte. Saludos desde El Salvador
Por Meritxell noviembre 26, 2019 - 11:55 am
Muy buena solución. Gracias por la aportación!
Por Rafael Nuñez-Lagos octubre 7, 2019 - 11:45 am
@Sara – De las líneas 30 a la 37 está explicado cómo funciona, tendrás que hacer prueba/error.
Por Sara septiembre 26, 2019 - 2:58 pm
Me ha venido de perlas este script. Muchas gracias!
¿Serías tan amable de indicarme (soy novata total en este lenguaje) qué línea/s añadir para poder filtar los eventos por palabras o frases?
Muchísimas gracias
Por Rafael Nuñez-Lagos febrero 7, 2019 - 11:41 am
@Augusto – Por lo que pone en esa página, la clave está en el formato de los encabezados (Subject, Start date, Start time, …) y el de los contenidos de las celdas dependiendo de los encabezados, revisa la hoja de cálculo, si te ha cargado 4 es que vas por el buen camino y algo pasa a partir de ahí, ánimo! :)
Por Augusto febrero 4, 2019 - 6:20 am
Yo quisiera hacer a la inversa. Desde una hoja de excel poder cargar eventos en google calendar. He seguido las instrucciones dadas en https://support.google.com/calendar/answer/37118?hl=es-419
pero no logro hacerlo…..solo se me cargan 4 de 212 eventos.
Te dejo la inquietud por si te interesa.