(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como gerar anexos com ficheiros Office em Power Apps / Power Platform

João Barros 07 de September de 2026 4 min de leitura

Este tutorial mostra como gerar ficheiros Office (Word e Excel) a partir de dados de um Canvas App e anexá‑los a um item no SharePoint usando Power Apps e Power Automate. É útil para criar relatórios ou etiquetas personalizadas automaticamente sem sair da Power Platform.

Pré-requisitos

  • Conta com licenciamento Power Apps / Power Automate e acesso ao SharePoint Online
  • Um site SharePoint e uma lista preparada para receber anexos
  • Conhecimentos básicos de Canvas Apps e de criar Flows no Power Automate

Passo 1: Preparar o template do ficheiro Office

Vamos usar um template Word (docx) com marcadores de conteúdo simples (Quick Parts ou texto entre chaves) que serão substituídos pelo Flow. Para Excel, prepare uma folha com um intervalo nomeado que o Flow pode preencher via Office Scripts ou preencha um ficheiro CSV se preferir simplicidade.

Exemplo simples para Word: crie um ficheiro Word com texto como {{Nome}} e {{Data}} e guarde no documento de templates numa biblioteca SharePoint chamada Templates.

Passo 2: Criar o Canvas App que recolhe dados

No Power Apps crie um Canvas App (tablet/phone) que recolhe os campos que quer incluir no ficheiro. Adicione um botão para «Gerar e Anexar» que chama o Flow.

// Exemplo de OnSelect no botão
// assume TextInputNome e DatePickerData no ecrã
Set(varNome, TextInputNome.Text);
Set(varData, Text(DatePickerData.SelectedDate, "yyyy-MM-dd"));
'GerarFicheiroFlow'.Run(varNome, varData, ThisItem.ID)

Passo 3: Criar o Power Automate Flow acionado por Power Apps

Crie um Flow do tipo "Instant cloud flow" acionado por Power Apps. Vai receber parâmetros (por exemplo Nome, Data, ItemID) e criar o ficheiro preenchido a partir do template, depois anexá‑lo à lista do SharePoint.

Passos no Flow:

  1. Acionar: Power Apps (V2) — adicionar parâmetros de entrada (Nome, Data, ItemID).
  2. Obter ficheiro de template: SharePoint > Get file content (path) — apontar para /Templates/template.docx.
  3. Substituir texto no documento: existem duas opções:
    • Usar conector Word Online (Business) > Populate a Microsoft Word template — se o template usar Content Controls.
    • Usar ação Compose e substituir strings no ficheiro base64 (mais avançado) — não recomendado para iniciantes.
  4. Criar o ficheiro preenchido: SharePoint > Create file — na biblioteca desejada (por exemplo Documentos), use o output do passo anterior como Content.
  5. Obter o ficheiro criado: Get file properties / Get file content para recuperar o conteúdo se necessário.
  6. Anexar à lista SharePoint: SharePoint > Add attachment — site + list name + Id (ItemID recebido do Power Apps) + FileName e File Content (usando output do ficheiro criado).
  7. Responder ao Power Apps (opcional): Response to Power Apps com sucesso/URL do ficheiro para feedback na App.
// Exemplos de expressões úteis no Flow
// Para transformar texto em nome de ficheiro
concat('Relatorio_', replace(triggerBody()['Nome'],' ','_'), '_', utcNow(), '.docx')

// Se usar Get file content, o conteúdo vai diretamente para Create file
body('Get_file_content')

Passo 4: Configurar a ação Populate a Microsoft Word template

Se optar por usar Word Online (Business) > Populate a Microsoft Word template, abra o seu template no Word e transforme os pontos de substituição em Content Controls (Developer > Controls). Após carregar o template na ação, o conector expõe esses campos para preencher com os valores recebidos do Power Apps.

// No Flow, ligar parâmetros Power Apps aos campos do template
Nome: triggerBody()['text_Nome']
Data: triggerBody()['text_Data']

Passo 5: Ligar o Flow ao Power Apps e gerir respostas

Na ação final do Flow, use a ação "Respond to Power Apps" para devolver o resultado (por exemplo URL do ficheiro ou um estado). No Canvas App, capture o retorno do Flow e mostre uma confirmação ao utilizador.

// No Power Apps, tratar resposta (exemplo simplificado)
Set(resp, 'GerarFicheiroFlow'.Run(varNome, varData, ThisItem.ID));
If(resp.Status = "OK", Notify("Ficheiro gerado e anexado."), Notify("Erro ao gerar ficheiro", NotificationType.Error))

Verificar o resultado

Para confirmar que tudo funciona: a) no Power Apps carregue dados e clique em "Gerar e Anexar"; b) verifique a lista SharePoint no item correspondente se o anexo está presente; c) abra o ficheiro gerado para validar os valores substituídos. Se não aparecer, consulte o histórico do Flow para erros (inputs, permissões ou caminhos de ficheiro).

Conclusão

Com este processo consegue gerar ficheiros Word/Excel personalizados e anexá‑los automaticamente a itens no SharePoint diretamente desde um Canvas App, simplificando relatórios e comunicações. Próximos passos: adicionar controlo de versões, gerar múltiplos anexos ou usar Office Scripts para manipulação avançada de Excel. Dica: se encontrar erros verifique permissões do SharePoint e se o template usa Content Controls compatíveis.