Pular para o conteúdo principal

Preencher um modelo do Excel a partir de JSON no Power Automate: um fluxo de trabalho de 4 etapas do Dropbox com marcadores inteligentes da Aspose.

· 19 min para ler
SEO and Content Writer

Arraste e solte um modelo do Excel que utilize Marcadores inteligentes Aspose (células escritas como &=RootData.Items.ItemName) para o Dropbox, cole um payload JSON correspondente em um fluxo do Power Automate e a planilha preenchida retorna ao Dropbox com os totais já calculados. Este guia explica passo a passo o processo. fluxo exato de quatro ações Conforme mostrado nas capturas de tela: Acionamento manual, Dropbox Obter o conteúdo do arquivo usando o caminho, PDF4me Excel - Preenchere Dropbox Criar arquivoCada valor de campo provém de uma execução real; o modelo de entrada, a carga útil JSON e a planilha de saída estão todos vinculados no final.

O fluxo em resumo
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.
A versão curta

Um gatilho manual inicia o fluxo. Dropbox Obter o conteúdo do arquivo usando o caminhomodelo aspose.xlsx (A planilha contém um arquivo Excel real) Mesa chamado Fatura Simples com células como &=RootData.Items.ItemName na linha 2). PDF4me Excel - Preencher Mescla a carga útil JSON (3 registros: Laptop, Mouse, Keyboard) no Índice da Planilha 1 com fórmulas recalculadas. Dropbox Criar arquivo escreve Excel_populate.xlsx (Subtotal da fatura) $ 1.635,00Imposto sobre vendas $ 98,10, TOTAL $ 1.585,00) de volta para /saída.

Os dois fatores que determinam se sua saída está correta.

Primeiro, o As chaves de nível superior dos dados JSON devem corresponder aos nomes das fontes de dados. usados em marcadores celulares. Marcadores como &=RootData.Items.ItemName exigem que o JSON encapsule os registros em RootData.Items[]Os nomes dos campos diferenciam maiúsculas de minúsculas. Em segundo lugar, o Índices de planilhas O campo é baseado em 1 e separado por vírgulas. O modelo é fornecido com três folhas (Fatura, Folha 1, Folha 2). Passar 1 Para preencher apenas a planilha de fatura detalhada mostrada neste guia.

O que você está construindo?

Um fluxo do Power Automate com quatro ações que converte um modelo do Excel personalizado e uma carga útil JSON em uma planilha totalmente preenchida com fórmulas dinâmicas. O mesmo padrão funciona para faturas, relatórios de estoque, resumos de folha de pagamento, resumos de vendas e qualquer outro documento do Excel cuja estrutura permaneça a mesma, mas as linhas mudem a cada execução.

Fluxo do Power Automate com quatro ações: Acionar um fluxo manualmente, Obter conteúdo do arquivo do Dropbox usando o caminho, Preencher com PDF4me Excel, Criar arquivo no Dropbox. Cada ação mostra a duração da execução (0s, 1s, 0,7s, 1s) e uma marca de seleção verde.
Todo o fluxo é executado em menos de 3 segundos de ponta a ponta.

Do que você precisa

  • Power Automate conta com um fluxo aberto no designer em nuvem.
  • Chave da API PDF4me. Obtenha sua chave de APIAdicione a conexão PDF4me Connect na primeira vez que você soltar a ação.
  • Dropbox Com duas pastas prontas: uma para o modelo e outra para o arquivo de saída. (Qualquer armazenamento funciona: SharePoint Obter conteúdo do arquivo, OneDrive Obter conteúdo do arquivo e Dataverse Baixar arquivo funcionam da mesma maneira.)
  • Um modelo do Excel que utiliza marcadores inteligentes da Aspose. Download modelo.xlsx (também referenciado como modelo aspose.xlsx (Veja as capturas de tela) para acompanhar exatamente.
  • Dados de exemplo JSON. Download planilha1-dados.json (o aninhado) RootData.Itens carga útil utilizada na execução).

Uma análise do modelo de entrada

Antes de criar o fluxo, é útil ver como os Marcadores Inteligentes realmente aparecem dentro do arquivo do Excel. Abra o Fatura folha de template.xlsxA linha 1 é o cabeçalho. A linha 2 contém os marcadores (um por coluna). As linhas 3 a 6 são linhas vazias pré-formatadas. Abaixo, encontra-se um bloco de totais com um SimpleInvoice Agregação de tabelas do Excel.

Planilha de fatura do Excel. A linha de cabeçalho (1) contém Nome do Item, Descrição, Quantidade, Preço Unitário, Desconto e Preço. A linha 2 contém as células com Marcadores Inteligentes: &=RootData.Items.ItemName, &=RootData.Items.Description, &=RootData.Items.Qty, &=RootData.Items.UnitPrice, &=RootData.Items.Discount, &=RootData.Items.Price. Abaixo do bloco de dados, há um bloco com Subtotal da Fatura $0,00, Taxa de Imposto 6,00%, Imposto sobre Vendas $0,00, Depósito Recebido $50,00 e TOTAL -$50,00.
O modelo antes da população. Marcadores na linha 2; fórmulas de subtotal/imposto/total fazem referência ao Fatura Simples Tabela do Excel.

Os seis marcadores são:

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

O bloco de totais usa referências estruturadas em vez de endereços A1 simples:

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

Quando a função "Preencher" do Excel expande a linha de marcadores de 1 registro para 3, o SimpleInvoice O intervalo da tabela cresce automaticamente e SUM(SimpleInvoice[Price]) A fórmula continua somando a coluna da direita. Esse é o principal motivo pelo qual esse padrão é melhor do que escrever fórmulas manualmente para cada linha.


Construa o fluxo

Ação 1: Acionar um fluxo manualmente

Para testes, o gatilho manual é o mais rápido. Na produção, substitua-o por Quando um arquivo é criado (Dropbox), Quando um item é criado ou modificado (SharePoint), Recorrênciaou qualquer evento que lhe forneça uma nova carga útil JSON.

Ação 2: Dropbox - Obter conteúdo do arquivo usando o caminho

Definir Caminho do arquivo Para o caminho completo do Dropbox do modelo, incluindo o nome do arquivo:

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

Sob Parâmetros avançados, Inferir tipo de conteúdo está definido para Sim (o padrão).

A ação "Obter conteúdo do arquivo usando o caminho" do Dropbox está definida como /pdf4metest/excel/populate excel/aspose template.xlsx. O parâmetro avançado "Inferir tipo de conteúdo" está definido como "Sim".
Dropbox: Obter conteúdo do arquivo usando o caminho exato do arquivo utilizado na execução.

Ação 3: PDF4me - Excel - Preencher

É aqui que a fusão acontece. Procure por PDF4me No seletor de ações, selecione Excel - PreencherConfigure estes campos:

CampoValor usado na execução
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)

O payload completo de dados JSON (copiar e colar de) 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 - Ação de preenchimento com o conteúdo do arquivo mapeado da etapa anterior do Dropbox. Caixa de texto de dados JSON contendo a matriz aninhada RootData.Items com registros de Laptop, Mouse e Teclado. Nome do arquivo: Populate.xlsx. Índices da planilha: 1.
Excel - Preencha com o bloco de dados JSON exato e defina os índices da planilha como 1.

Expand Parâmetros avançados para os quatro controles opcionais. Os valores padrão geralmente estão corretos, mas as capturas de tela mostram como cada valor aparece na interface do usuário:

Parâmetros avançados do Excel - Preencher. Strings JSON rígidas: Sim. Configurações de cultura e idioma: inglês (EUA). Calcular fórmulas: Sim. Prefixo de aspas para estilo: Sim.
As quatro configurações avançadas utilizadas na execução.
Campo avançadoValorPor que isso é 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.

Ação 4: Dropbox - Criar arquivo

A etapa final consiste em carregar a planilha preenchida de volta para o Dropbox:

CampoValor
Caminho da pasta/pdf4metest/excel/populate excel/output
Nome do arquivoExcel_populate.xlsx
Conteúdo do arquivoConteúdo do arquivo de saída (Conteúdo dinâmico do Excel - Preencher)
Ação "Criar arquivo" do Dropbox. Caminho da pasta: /pdf4metest/excel/populate excel/output. Nome do arquivo: Excel_populate.xlsx. Conteúdo do arquivo mapeado do Excel - Preencher.
Dropbox: Crie um arquivo com a planilha preenchida no campo Conteúdo do Arquivo.

Esse é todo o fluxo. Salve e clique. Teste.


O resultado

Ao abrir Excel_populate.xlsx do /output Na pasta, a planilha de faturas agora contém os três registros nas linhas 2 a 4, e o bloco de totais calcula valores em tempo real a partir do SimpleInvoice Agregação de tabelas.

Folha de fatura preenchida. Linha 2: Laptop / Dell Inspiron 15 / 2 / 750 / R$ 50,00 / R$ 1.450,00. Linha 3: Mouses / Mouse sem fio / 3 / 25 / R$ 0,00 / R$ 75,00. Linha 4: Teclado / Teclado mecânico / 1 / 120 / R$ 10,00 / R$ 110,00. Subtotal da fatura: R$ 1.635,00, Alíquota de imposto: 6,00%, Imposto sobre vendas: R$ 98,10, Depósito recebido: R$ 50,00, TOTAL: R$ 1.585,00.
A mesma planilha após a execução do fluxo. Três registros foram preenchidos: subtotal, imposto sobre vendas e total calculados em tempo real.

A prova numérica exata de que as fórmulas foram recalculadas corretamente:

CélulaFórmulaResultado
G7=SUM(SimpleInvoice[Price])$ 1.635,00 (1450 + 75 + 110)
G9=IFERROR(G7*G8,"") com G8 = 6,00%$ 98,10
G10Estático 50$50,00 (Depósito recebido)
G11=SUM(G2:G4)-G10$ 1.585,00 (1635 + 98,10 - 50 ≈ exibição arredondada)

Baixe a planilha de resultados gerada por esta execução: output-excel-populate.xlsx.


Solução de problemas

Uma coluna sai vazia. O nome da sua propriedade JSON não corresponde ao nome do campo do marcador. Os marcadores diferenciam maiúsculas de minúsculas. &=RootData.Items.ItemName Não atenderei. itemName do JSON.

A planilha errada foi preenchida. Verificar Índices de planilhasO valor é baseado em 1 (não em 0). Passar 1 para a primeira folha, 2 Para a segunda planilha, etc. Deixe em branco para preencher todas as planilhas.

Os totais mostram $0.00 após a corrida. Fórmulas de cálculo está definido para NãoMude para Sim.

Sequências de caracteres que parecem numéricas foram convertidas em números (ou vice-versa). Alternar Strings JSON rígidas. Sim Mantém os valores primitivos JSON entre aspas como texto. Não os coage.

Os separadores decimais ou os formatos de data podem estar incorretos para a sua região. Mudar Contextos culturais e linguísticos. en-US, fr-FR, de-DE, ja-JP, etc. são todas válidas.

Os dados são recebidos, mas preenchem apenas a primeira linha, mesmo quando vários registros são enviados. O marcador foi criado com o (noadd) modificador (&=RootData.Items.ItemName(noadd)Remova o modificador para que o mecanismo insira novas linhas.


Quando usar este padrão

  • Geração de faturas a partir de itens de linha do CRM. Extrai linhas do Dynamics, Salesforce ou HubSpot para uma matriz JSON Items; renderiza com um modelo de fatura do Excel personalizado.
  • Relatórios mensais de estoque e vendas. O gatilho de recorrência, a lista de linhas do Dataverse e este fluxo permitem que você crie uma planilha do Excel impecável em minutos.
  • Lista de funcionários de RH, resumo da folha de pagamento, relatórios de despesas. Em qualquer lugar onde um layout do Excel predefinido encontre novos dados de linha.
  • Arquivos em Excel que o destinatário poderá abrir e editar. Excel - Preencher retornos nativos .xlsx (não em PDF), para que os destinatários possam classificar, filtrar e ajustar as fórmulas posteriormente.

O que ler a seguir


Perguntas frequentes

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.

Comece agora