Gonzalo Rementeria

25 – Cómo generar archivos de excel de forma rápida usando la API de Graph y Power Automate

En muchas automatizaciones empresariales es necesario crear y actualizar archivos Excel de forma dinámica: reportes, listados, exportaciones de datos de SharePoint o resúmenes que después se comparten por correo. Aunque Power Automate incluye conectores nativos para Excel, estos pueden resultar limitados cuando el archivo se genera en el propio flujo.

En este artículo veremos cómo utilizar la API de Microsoft Graph para crear, estructurar y rellenar un archivo Excel directamente desde Power Automate, sin intervención manual y con total flexibilidad.


Objetivo del flujo

El proceso que se muestra en la imagen realiza las siguientes acciones:

  1. Genera un archivo Excel vacío en OneDrive for Business.

  2. Crea dentro de él una tabla con columnas personalizadas.

  3. Obtiene datos desde una lista de SharePoint.

  4. Transforma esos datos en un formato adecuado.

  5. Inserta los registros en la tabla del Excel mediante una solicitud HTTP a Microsoft Graph.


Estructura del flujo paso a paso

1. Redactar | Contenido del Excel vacío

El primer paso consiste en generar el contenido base del archivo Excel.
Se puede usar la acción “Redactar” (Compose) para definir un archivo binario vacío o, si se prefiere, una plantilla preexistente con el formato deseado. Para obtener este contenido previamente he generado dicha plantilla (el excel base vacio) y con la opcion de obtener contenido del archivo de SharePoint lo he obtenido.

2. Crear archivo

A continuación, la acción “Crear archivo” de OneDrive guarda el Excel vacío en la ubicación elegida.
Esta acción devuelve un identificador de archivo, que será necesario para las siguientes operaciones.

3. Crear tabla

En este punto se configura la estructura inicial del Excel con la acción “Crear tabla”, indicando:

  • Ubicación: OneDrive for Business

  • Archivo: identificador del archivo creado

  • Rango: A1:C1 (define las columnas)

  • Nombre de la tabla: tabla1

  • Nombres de las columnas: pais, capital, continente

Con esto, el archivo ya dispone de una tabla lista para ser rellenada con datos.

4. Obtener elementos

La acción “Obtener elementos” recupera los registros desde una lista de SharePoint, por ejemplo una lista con países, capitales y continentes.
Estos datos se utilizarán para completar la tabla del Excel.

5. Seleccionar

El siguiente paso es transformar la información obtenida.
Con la acción “Seleccionar” (Select) se mapean los campos de la lista de SharePoint para que coincidan con los nombres de las columnas del Excel:

[
@{item()?[‘Title’]},
@{item()?[‘field_1’]},
@{item()?[‘field_2’]}
]
 

El resultado es un conjunto de registros en formato array, listo para insertarse en la tabla.

6. Enviar una solicitud HTTP

Por último, la acción “Enviar una solicitud HTTP” realiza la inserción de los datos en el Excel a través de la Microsoft Graph API.

  • URI:

     
    https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/tables/tabla1/rows

    Donde {id} corresponde al identificador del archivo creado.

  • Método: POST

  • Cuerpo:

     
    {
    "values": @{outputs('Seleccionar_2')}
    }
  • Content-Type: application/json

Este paso envía todas las filas generadas en la acción “Seleccionar” directamente a la tabla del Excel.


Ventajas de usar la Graph API

Utilizar la API de Microsoft Graph para manipular archivos Excel ofrece varias ventajas frente a los conectores nativos:

  • Mayor flexibilidad: permite crear, modificar o eliminar tablas, hojas y rangos de forma dinámica.

  • Control total: se accede a todas las funcionalidades de Excel disponibles a nivel de API.

  • Automatización avanzada: ideal para generar informes, dashboards o exportaciones personalizadas sin intervención manual.


Buenas prácticas

  • Utiliza nombres de tabla claros y coherentes.

  • Evita espacios o caracteres especiales en los nombres de las columnas.

  • Si el flujo gestiona un gran volumen de registros, considera aplicar paginación o retardos para evitar límites de API.

  • Guarda el identificador del archivo como variable global si necesitas reutilizarlo en otros pasos o flujos.


Conclusión

La combinación de Power Automate y la API de Microsoft Graph permite crear soluciones totalmente automatizadas que generan archivos Excel desde cero, los estructuran y los rellenan con datos actualizados en tiempo real.
Este enfoque amplía las posibilidades del ecosistema de Power Platform, ofreciendo flujos más potentes, versátiles y profesionales que van más allá de las acciones predefinidas.