Rellenar una plantilla de Excel a partir de JSON en Power Automate: un flujo de trabajo de Dropbox en 4 pasos con Aspose Smart Markers

Arrastra una plantilla de Excel que utiliza Marcadores inteligentes Aspose (células escritas como &=RootData.Items.ItemName) en Dropbox, pegue una carga útil JSON coincidente en un flujo de Power Automate y el libro de trabajo completado volverá a Dropbox con los totales ya calculados. Esta guía explica el proceso. flujo exacto de cuatro acciones Como se muestra en las capturas de pantalla: Disparador manual, Dropbox Obtener el contenido del archivo usando la ruta, PDF4me Excel - Rellenary Dropbox Crear archivoCada valor de campo proviene de una ejecución real; la plantilla de entrada, la carga útil JSON y el libro de trabajo de salida están vinculados al final.
Un activador manual inicia el flujo. Dropbox Obtener el contenido del archivo usando la ruta lecturas Plantilla Aspose.xlsx (el libro de trabajo contiene un archivo Excel real) Mesa llamado Factura simple con células como &=RootData.Items.ItemName en la fila 2). PDF4me Excel - Rellenar Combina la carga útil JSON (3 registros: Laptop, Mouse's, Keyboard) en el índice de la hoja de cálculo. 1 con fórmulas recalculadas. Dropbox Crear archivo escribe Excel_rellenar.xlsx (Subtotal de la factura) $1,635.00Impuesto sobre las ventas $98.10, TOTAL $1,585.00) de vuelta a /producción.
Primero, el Las claves de nivel superior de los datos JSON deben coincidir con los nombres de las fuentes de datos. utilizados en los marcadores celulares. Marcadores como &=RootData.Items.ItemName requerir que el JSON envuelva los registros bajo RootData.Items[]. Los nombres de los campos distinguen entre mayúsculas y minúsculas. Segundo, el Índices de hojas de trabajo El campo está basado en 1 y separado por comas. La plantilla incluye tres hojas (Factura, Hoja1, Hoja2). Aprobar 1 para rellenar únicamente la hoja de factura enriquecida que se muestra en esta guía.
Lo que estás construyendo
Un flujo de Power Automate de cuatro acciones que convierte una plantilla de Excel predefinida, junto con una carga útil JSON, en un libro de trabajo completo con fórmulas en tiempo real. Este mismo patrón funciona para facturas, informes de inventario, resúmenes de nómina, resúmenes de ventas y cualquier otro documento de Excel cuya estructura se mantenga, pero cuyas filas cambien en cada ejecución.

Lo que necesitas
- Power Automate Cuenta con un flujo abierto en el diseñador de la nube.
- Clave API de PDF4me. Obtén tu clave APIAgregue la conexión PDF4me Connect la primera vez que ejecute la acción.
- Dropbox Con dos carpetas preparadas: una para la plantilla y otra para el resultado. (Funciona cualquier sistema de almacenamiento: SharePoint (obtener contenido del archivo), OneDrive (obtener contenido del archivo) y Dataverse (descargar archivo) se asignan de la misma manera).
- Una plantilla de Excel que utiliza marcadores inteligentes de Aspose. Descargar
plantilla.xlsx(también conocido comoPlantilla Aspose.xlsx(en las capturas de pantalla) para seguir las instrucciones al pie de la letra. - Datos de muestra JSON. Descargar
hoja1-datos.json(el anidadoRootData.Itemscarga útil utilizada en la ejecución).
Un recorrido por la plantilla de entrada
Antes de crear el flujo, es útil ver cómo se ven realmente los marcadores inteligentes dentro del archivo de Excel. Abra el Factura hoja de template.xlsxLa fila 1 es el encabezado. La fila 2 contiene los marcadores (uno por columna). Las filas 3 a 6 son filas vacías preformateadas. Debajo se encuentra un bloque de totales con un SimpleInvoice Agregación de tablas de Excel.

Factura simple Tabla de Excel.Los seis marcadores son:
| Celúla | Marcador |
|---|---|
| B2 | &=RootData.Items.ItemName |
| C2 | &=RootData.Items.Description |
| D2 | &=RootData.Items.Qty |
| E2 | &=RootData.Items.UnitPrice |
| F2 | &=RootData.Items.Discount |
| G2 | &=RootData.Items.Price |
El bloque de totales utiliza referencias estructuradas en lugar de direcciones A1 simples:
G7 =SUM(SimpleInvoice[Price])
G9 =IFERROR(G7*G8,"")
G11 =SUM(G2:G4)-G10
Cuando Excel - Rellenar expande la fila del marcador de 1 registro a 3, SimpleInvoice El rango de la tabla crece automáticamente y SUM(SimpleInvoice[Price]) Sigue sumando la columna derecha. Esa es la razón principal por la que este patrón es mejor que escribir fórmulas manualmente fila por fila.
Construye el flujo
Acción 1: Activar manualmente un flujo
Para realizar pruebas, el disparador manual es el más rápido. En producción, reemplácelo con Cuando se crea un archivo (Dropbox), Cuando se crea o modifica un elemento (SharePoint), Reaparicióno cualquier evento que te proporcione una nueva carga útil JSON.
Acción 2: Dropbox - Obtener el contenido del archivo usando la ruta
Colocar Ruta del archivo a la ruta completa de Dropbox de la plantilla, incluyendo el nombre del archivo:
/pdf4metest/excel/populate excel/aspose template.xlsx
Bajo Parámetros avanzados, Inferir tipo de contenido está configurado para Sí (el valor predeterminado).

Acción 3: PDF4me - Excel - Rellenar
Aquí es donde se produce la fusión. Buscar PDF4me en el selector de acciones, luego seleccione Excel - RellenarConfigure estos campos:
La carga útil completa de datos JSON (copiar y pegar desde sheet1-data.json):
{
"RootData": {
"Items": [
{ "ItemName": "Laptop", "Description": "Dell Inspiron 15", "Qty": 2, "UnitPrice": 750, "Discount": 50, "Price": 1450 },
{ "ItemName": "Mouse's", "Description": "Wireless Mouse", "Qty": 3, "UnitPrice": 25, "Discount": 0, "Price": 75 },
{ "ItemName": "Keyboard", "Description": "Mechanical Keyboard", "Qty": 1, "UnitPrice": 120, "Discount": 10, "Price": 110 }
]
}
}

Expandir Parámetros avanzados para los cuatro controles opcionales. Los valores predeterminados suelen ser correctos, pero las capturas de pantalla muestran cómo se ve cada valor en la interfaz de usuario:

Acción 4: Dropbox - Crear archivo
El último paso consiste en volver a subir el libro de trabajo con los datos a Dropbox:
| Campo | Valor |
|---|---|
| Ruta de la carpeta | /pdf4metest/excel/populate excel/output |
| Nombre del archivo | Excel_populate.xlsx |
| Contenido del archivo | Contenido del archivo de salida (Contenido dinámico de Excel - Rellenar) |

Ese es todo el proceso. Guarda y haz clic. Prueba.
El resultado
Cuando abres Excel_populate.xlsx del /output En la carpeta, la hoja de factura ahora contiene los tres registros en las filas 2 a 4, y el bloque de totales ha calculado valores en vivo a partir de la SimpleInvoice agregación de tablas.

La prueba numérica exacta de que las fórmulas se recalcularon correctamente:
| Celúla | Fórmula | Resultado |
|---|---|---|
| G7 | =SUM(SimpleInvoice[Price]) | $1,635.00 (1450 + 75 + 110) |
| G9 | =IFERROR(G7*G8,"") con G8 = 6,00% | $98.10 |
| G10 | Estático 50 | $50.00 (Depósito recibido) |
| G11 | =SUM(G2:G4)-G10 | $1,585.00 (1635 + 98,10 - 50 ≈ visualización redondeada) |
Descargue el libro de trabajo de salida real generado por esta ejecución: output-excel-populate.xlsx.
Solución de problemas
Una columna queda vacía. El nombre de su propiedad JSON no coincide con el nombre del campo del marcador. Los marcadores distinguen entre mayúsculas y minúsculas. &=RootData.Items.ItemName NO recogerá itemName del JSON.
Se ha cargado la hoja incorrecta. Controlar Índices de hojas de trabajoEl valor está basado en 1 (no en 0). Aprobar 1 para la primera hoja, 2 para el segundo, etc. Déjelo vacío para rellenar todas las hojas.
Los totales se muestran $0.00 después de la carrera. Calcular fórmulas está configurado para NoCámbialo a Sí.
Las cadenas de texto que parecían numéricas se convirtieron en números (o viceversa). Alternar Cadenas JSON estrictas. Sí conserva los elementos JSON primitivos entre comillas como texto. No los coacciona.
Los separadores decimales o los formatos de fecha no se ven bien en tu configuración regional. Cambiar Contextos culturales y lingüísticos. en-US, fr-FR, de-DE, ja-JP, etc. son todos válidos.
Los datos llegan, pero solo se rellena la primera fila, incluso cuando se envían varios registros. El marcador fue creado con el (noadd) modificador (&=RootData.Items.ItemName(noadd)). Elimine el modificador para que el motor inserte nuevas filas.
Cuándo utilizar este patrón
- Generación de facturas a partir de las partidas del CRM. Extrae líneas de Dynamics, Salesforce o HubSpot y consérvalas en una matriz JSON Items; renderízalas con una plantilla de factura de Excel diseñada.
- Informes mensuales de inventario y ventas. La combinación de un disparador recurrente, filas de la lista de Dataverse y este flujo le proporciona un documento de Excel impecable en cuestión de minutos.
- Lista de recursos humanos, resumen de nómina, informes de gastos. En cualquier lugar donde un diseño de Excel predefinido se combine con datos de filas nuevas.
- Los archivos Excel que el destinatario abrirá y editará. Excel - Rellenar devuelve nativo
.xlsx(no es un PDF), para que los destinatarios puedan ordenar, filtrar y ajustar las fórmulas posteriormente.