Passa al contenuto principale

Compilare un modello Excel da un file JSON in Power Automate: un flusso di lavoro Dropbox in 4 fasi con i marcatori intelligenti di Aspose.

· 18 minuti di lettura
SEO and Content Writer

Trascina un modello Excel che utilizza Marcatori intelligenti Aspose (celle scritte come &=RootData.Items.ItemName) in Dropbox, incolla un payload JSON corrispondente in un flusso Power Automate e la cartella di lavoro compilata torna in Dropbox con i totali già calcolati. Questa guida illustra il flusso esatto a quattro azioni mostrato negli screenshot: attivazione manuale, Dropbox Ottieni il contenuto del file utilizzando il percorso, PDF4me Excel - Compilae Dropbox Crea fileOgni valore di campo proviene da un'esecuzione reale; il modello di input, il payload JSON e la cartella di lavoro di output sono tutti collegati alla fine.

Il flusso in sintesi
1. Manual trigger
Manually trigger a flow. Replace with any trigger later.
2. Get file content (path)
Dropbox path: /pdf4metest/excel/populate excel/aspose template.xlsx
3. Excel - Populate
PDF4me action. JSON Data with RootData.Items array. Worksheet Indexes: 1 (Invoice sheet).
4. Create file
Dropbox /pdf4metest/excel/populate excel/output, name Excel_populate.xlsx.
La versione breve

Un trigger manuale avvia il flusso. Dropbox Ottieni il contenuto del file utilizzando il percorso legge come modello.xlsx (la cartella di lavoro contiene un vero Excel Tavolo denominato Fattura semplice con cellule come &=RootData.Items.ItemName nella riga 2). PDF4me Excel - Compila unisce il payload JSON (3 record: Laptop, Mouse, Keyboard) nell'indice del foglio di lavoro 1 con formule ricalcolate. Dropbox Crea file scrive Excel_populate.xlsx (Subtotale fattura) $1.635,00Imposta sulle vendite $98,10TOTALE $1.585,00) di nuovo dentro /produzione.

Le due cose che determinano se il tuo output è corretto

Innanzitutto, il Le chiavi di primo livello dei dati JSON devono corrispondere ai nomi delle origini dati. utilizzati nei marcatori cellulari. Marcatori come &=RootData.Items.ItemName richiedere che il JSON racchiuda i record sotto RootData.Items[]. I nomi dei campi fanno distinzione tra maiuscole e minuscole. In secondo luogo, il Indici dei fogli di lavoro Il campo è basato su 1, separato da virgole. Il modello viene fornito con tre fogli (Fattura, Foglio1, Foglio2). Passaggio 1 per compilare solo il foglio di fatturazione avanzato mostrato in questa guida.

Cosa stai costruendo

Un flusso Power Automate a quattro azioni che converte un modello Excel predefinito, insieme a un payload JSON, in una cartella di lavoro completamente compilata con formule in tempo reale. Lo stesso schema funziona per fatture, report di inventario, riepiloghi paghe, riepiloghi vendite e qualsiasi altro documento Excel in cui la struttura rimane la stessa ma le righe cambiano a ogni esecuzione.

Flusso di Power Automate con quattro azioni: Attiva manualmente un flusso, Ottieni il contenuto del file da Dropbox utilizzando il percorso, PDF4me Excel - Compila, Dropbox Crea file. Ogni azione mostra la durata dell'esecuzione (0s, 1s, 0,7s, 1s) e un segno di spunta verde.
L'intero flusso viene completato in meno di 3 secondi.

Ciò di cui hai bisogno

  • Power Automate account con un flusso aperto nel designer cloud.
  • Chiave API di PDF4me. Ottieni la tua chiave APIAggiungi la connessione PDF4me Connect la prima volta che trascini l'azione.
  • Dropbox con due cartelle pronte: una per il modello, una per l'output. (Qualsiasi sistema di archiviazione funziona: SharePoint Ottieni contenuto file, OneDrive Ottieni contenuto file e Dataverse Scarica file, tutti funzionano allo stesso modo.)
  • Un modello Excel che utilizza i marcatori intelligenti di Aspose. Scaricamento template.xlsx (anche citato come come modello.xlsx (nelle schermate) per seguire esattamente.
  • Dati di esempio in formato JSON. Scaricamento foglio1-dati.json (il nido RootData.Items carico utile utilizzato durante l'esecuzione).

Una panoramica del modello di input

Prima di creare il flusso, è utile vedere come appaiono effettivamente gli Smart Marker all'interno del file Excel. Apri il Fattura foglio di template.xlsx. La riga 1 è l'intestazione. La riga 2 contiene i marcatori (uno per colonna). Le righe dalla 3 alla 6 sono righe vuote preformattate. Sotto di esse si trova un blocco dei totali con un SimpleInvoice Aggregazione di tabelle Excel.

Foglio di calcolo Excel per la fattura. La riga di intestazione (1) contiene Nome articolo, Descrizione, Quantità, Prezzo unitario, Sconto, Prezzo. La riga 2 contiene le celle con marcatore intelligente: &=RootData.Items.ItemName, &=RootData.Items.Description, &=RootData.Items.Qty, &=RootData.Items.UnitPrice, &=RootData.Items.Discount, &=RootData.Items.Price. Sotto il blocco dati, un blocco con Subtotale fattura $0,00, Aliquota fiscale 6,00%, Imposta sulle vendite $0,00, Acconto ricevuto $50,00, TOTALE -$50,00.
Il modello prima della popolazione. Indicatori nella riga 2; le formule subtotale / imposta / totale fanno riferimento al Fattura semplice Tabella Excel.

I sei indicatori sono:

CellaMarcatore
B2&=RootData.Items.ItemName
C2&=RootData.Items.Description
D2&=RootData.Items.Qty
E2&=RootData.Items.UnitPrice
F2&=RootData.Items.Discount
G2&=RootData.Items.Price

Il blocco totali utilizza riferimenti strutturati invece di semplici indirizzi A1:

G7 =SUM(SimpleInvoice[Price])
G9 =IFERROR(G7*G8,"")
G11 =SUM(G2:G4)-G10

Quando Excel - Popola espande la riga del marcatore da 1 record a 3, il SimpleInvoice L'intervallo della tabella si espande automaticamente e SUM(SimpleInvoice[Price]) continua a sommare la colonna di destra. Questo è il motivo principale per cui questo schema è preferibile alla scrittura manuale di formule per ogni riga.


Costruisci il flusso

Azione 1: Attiva manualmente un flusso

Per i test, il trigger manuale è il più veloce. In produzione, sostituirlo con Quando viene creato un file (Dropbox), Quando un elemento viene creato o modificato (SharePoint), Ricorrenza, o qualsiasi evento che ti fornisca un nuovo payload JSON.

Azione 2: Dropbox - Ottieni il contenuto del file utilizzando il percorso

Impostato Percorso del file il percorso completo del modello su Dropbox, incluso il nome del file:

/pdf4metest/excel/populate excel/aspose template.xlsx

Sotto Parametri avanzati, Dedurre il tipo di contenuto è impostato su (l'impostazione predefinita).

Dropbox Ottieni il contenuto del file tramite l'azione percorso. Il percorso del file è impostato su /pdf4metest/excel/populate excel/aspose template.xlsx. I parametri avanzati Inferisci tipo di contenuto sono impostati su Sì.
Dropbox Ottieni il contenuto del file utilizzando il percorso esatto del file utilizzato nell'esecuzione.

Azione 3: PDF4me - Excel - Compila

È qui che avviene la fusione. Cerca PDF4me nel selettore azioni, quindi seleziona Excel - CompilaConfigura i seguenti campi:

CampoValore utilizzato nell'esecuzione
File ContentFile Content from the previous Dropbox step (dynamic content)
JSON DataNested RootData.Items[] array with 3 records (Laptop, Mouse's, Keyboard)
File NamePopulate.xlsx
Worksheet Indexes1 (Invoice sheet)

Il payload completo dei dati JSON (copia e incolla da 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 }
]
}
}
PDF4me Excel - Azione di popolamento con il contenuto del file mappato dal passaggio precedente di Dropbox. Casella di testo Dati JSON contenente l'array nidificato RootData.Items con i record Laptop, Mouse, Keyboard. Nome file Populate.xlsx. Indici del foglio di lavoro 1.
Excel - Inserire esattamente il blocco di dati JSON e impostare gli indici del foglio di lavoro su 1.

Espandi Parametri avanzati per i quattro controlli opzionali. I valori predefiniti sono generalmente corretti, ma gli screenshot mostrano l'aspetto di ciascun valore nell'interfaccia utente:

Parametri avanzati di Excel - Popola. Stringhe JSON rigorose Sì. Impostazioni cultura e lingua en-US. Calcola formule Sì. Prefisso virgolette per stile Sì.
Le quattro impostazioni avanzate utilizzate durante l'esecuzione.
campo avanzatoValorePerché è importante
Strict JSON StringsYesPreserves quoted string primitives (like "55") as text in cells. Set No to coerce them to numbers during merge.
Culture & Language Settingsen-USControls number, date, and currency formatting written into cells. Use fr-FR, de-DE, ja-JP, etc. for non-US locales.
Calculate FormulasYesRecalculates the workbook after population so totals are accurate at open. Set No to skip and recalc downstream.
Quote Prefix To StyleYesCarries Excel's quote-prefix onto styled values so account numbers and ZIPs stay text.

Azione 4: Dropbox - Crea file

L'ultimo passaggio consiste nel caricare nuovamente la cartella di lavoro compilata su Dropbox:

CampoValore
Percorso cartella/pdf4metest/excel/populate excel/output
Nome del fileExcel_populate.xlsx
Contenuto del fileContenuto del file di output (contenuto dinamico da Excel - Popola)
Azione di creazione file di Dropbox. Percorso cartella: /pdf4metest/excel/populate excel/output. Nome file: Excel_populate.xlsx. Contenuto del file mappato da Excel - Popola.
Dropbox Crea un file con la cartella di lavoro compilata nello slot Contenuto file.

Questo è l'intero flusso. Salva e fai clic Test.


Il risultato

Quando apri Excel_populate.xlsx dal /output cartella, il foglio Fattura ora contiene i tre record nelle righe da 2 a 4 e il blocco totali ha calcolato i valori in tempo reale da SimpleInvoice Aggregazione di tabelle.

Foglio di fattura compilato. Riga 2: Laptop / Dell Inspiron 15 / 2 / 750 / $50,00 / $1.450,00. Riga 3: Mouse / Mouse wireless / 3 / 25 / $0,00 / $75,00. Riga 4: Tastiera / Tastiera meccanica / 1 / 120 / $10,00 / $110,00. Subtotale fattura $1.635,00, Aliquota fiscale 6,00%, Imposta sulle vendite $98,10, Acconto ricevuto $50,00, TOTALE $1.585,00.
Lo stesso foglio di calcolo dopo l'esecuzione del flusso. Tre record popolati: subtotale, imposta sulle vendite e totale calcolato in tempo reale.

La dimostrazione numerica esatta che le formule sono state ricalcolate correttamente:

CellaFormulaRisultato
G7=SUM(SimpleInvoice[Price])$1.635,00 (1450 + 75 + 110)
G9=IFERROR(G7*G8,"") con G8 = 6,00%$98,10
G10Statico 50$50,00 (Deposito ricevuto)
G11=SUM(G2:G4)-G10$1.585,00 (1635 + 98,10 - 50 ≈ visualizzazione arrotondata)

Scarica la cartella di lavoro di output effettiva prodotta da questa esecuzione: output-excel-populate.xlsx.


Risoluzione dei problemi

Una colonna risulta vuota. Il nome della proprietà JSON non corrisponde al nome del campo del marcatore. I marcatori distinguono tra maiuscole e minuscole. &=RootData.Items.ItemName NON risponderà itemName dal file JSON.

È stato compilato il foglio sbagliato. Controllo Indici dei fogli di lavoroIl valore è basato su 1 (non su 0). Passa 1 per il primo foglio, 2 per il secondo, ecc. Lasciare vuoto per compilare tutti i fogli.

I totali mostrano $0.00 dopo la corsa. Calcola formule è impostato su NO. Passa a .

Le stringhe che sembrano numeriche sono state convertite in numeri (o viceversa). Attiva/disattiva Stringhe JSON rigorose. mantiene i tipi primitivi JSON tra virgolette come testo. NO li costringe.

I separatori decimali o i formati data non sono corretti per le impostazioni locali. Modifica Contesti culturali e linguistici. en-US, fr-FR, de-DE, ja-JP, ecc. sono tutti validi.

I dati vengono inviati correttamente, ma riempiono solo la prima riga, anche se sono stati inviati più record. Il marcatore è stato creato con il (noadd) modificatore (&=RootData.Items.ItemName(noadd)). Rimuovi il modificatore in modo che il motore inserisca nuove righe.


Quando utilizzare questo schema

  • Generazione di fatture a partire dalle voci del CRM. Estrai le righe da Dynamics, Salesforce o HubSpot e inseriscile in un array JSON di elementi; visualizzale utilizzando un modello di fattura Excel personalizzato.
  • Report mensili su inventario e vendite. L'attivazione della ricorrenza, unita alle righe dell'elenco Dataverse e a questo flusso, ti permette di ottenere un documento Excel impeccabile in pochi minuti.
  • Elenco del personale, riepilogo delle buste paga, note spese. Ovunque un layout Excel predefinito incontri nuovi dati di riga.
  • File Excel che il destinatario potrà aprire e modificare. Excel - Popola i risultati nativi .xlsx (non in formato PDF), in modo che i destinatari possano ordinare, filtrare e modificare le formule in seguito.

Cosa leggere dopo


FAQ

What is the difference between this and Generate Document Single?+
Excel - Populate is the right action when your deliverable is native .xlsx with live formulas and Excel Tables. Generate Document Single targets Word, HTML, or PDF templates and produces a Word, PDF, Excel, or HTML output (template engine is mustache-style, not Smart Markers). Choose based on whether the recipient will work with the file inside Excel or just consume the rendered output.
Does this work with SharePoint or OneDrive instead of Dropbox?+
Yes. Swap the Dropbox actions for SharePoint Get file content / Create file, or OneDrive Get file content / Create file. The Excel - Populate action and all its parameters are identical regardless of the storage source.
How big can the JSON Data payload be?+
Practical limits are bounded by the Power Automate action body size cap (about 100 MB on premium plans, smaller on standard) plus Excel cell limits. For larger payloads, write the JSON to a SharePoint or OneDrive file and reference it via a custom dispatcher pattern, or split the work into one call per sheet using Worksheet Indexes.
Can I populate multiple sheets in a single call?+
Yes. Leave Worksheet Indexes empty (populates every sheet) or pass a comma-separated list like 1,3. The JSON Data top-level keys must contain a data source for each sheet you want populated.
Does this work in Power Automate Desktop?+
PDF4me Connect is a cloud connector available in Power Automate (the web flow designer). For Power Automate Desktop, call the Excel Populate REST endpoint with the HTTP action.
Can I trigger this from email, SharePoint, or a webhook instead of manually?+
Yes. Replace the manual trigger with When a new email arrives (Outlook), When a file is created (Dropbox / SharePoint / OneDrive), When an HTTP request is received, or any other trigger that produces a fresh JSON payload. The remaining three actions stay identical.

Inizia