Pular para o conteúdo principal

Dividir uma pasta de trabalho do Excel com várias planilhas em arquivos separados no Power Automate (4 ações, qualquer número de planilhas)

· 21 min para ler
SEO and Content Writer

Uma apostila com 5, 50 ou 500 folhas pode ser dividida em partes individuais. .xlsx arquivos em um único fluxo do Power Automate. PDF4me Excel - Planilhas Separadas retorna uma matriz com um arquivo por folha; um Aplicar a cada um O loop grava os dados no Dropbox, SharePoint, OneDrive ou Dataverse. Este guia descreve a execução exata mostrada nas capturas de tela: uma execução com 5 abas. Separate.xlsx no Dropbox se torna Sheet1.xlsx através Sheet5.xlsx em uma pasta de saída. Fluxo total: 4 ações, zero código, execução completa em aproximadamente 9 segundos..

O fluxo em resumo
1. Manual trigger
Manually trigger a flow. Swap for any trigger that produces a workbook.
2. Get file content (path)
Dropbox path: /pdf4metest/excel/separate worksheets/Separate.xlsx
3. Excel - Separate Worksheets
PDF4me action. Splits the 5-sheet workbook into 5 single-sheet XLSXes.
4. Apply to each → Create file
Loop outputDocuments. Each iteration writes one sheet as its own .xlsx to Dropbox.
A versão curta

Um gatilho manual inicia o fluxo. Dropbox Obter o conteúdo do arquivo usando o caminhoSeparate.xlsx (5 folhas, cada uma com uma lista diferente de registros de pessoas). Excel - Planilhas Separadas retorna um documentos de saída matriz com 5 entradas: {fileName: "Sheet1.xlsx", streamFile: "<base64>"} através do arquivo Sheet5.xlsx. Um Aplicar a cada um O comando `over outputDocuments` é executado uma vez por folha (a captura de tela mostra o 1 de 5 contador de iterações) e usa Criar arquivo para soltar cada XLSX em /pdf4metest/excel/planilhas separadas/saídaNavegue até a pasta de saída e os 5 arquivos divididos estarão lá, em ordem alfabética.

A única coisa que as pessoas não percebem: Aplicar a cada um não é opcional

Excel - Planilhas Separadas retorna um variedadeNão se trata de um único arquivo. O número de entradas depende da pasta de trabalho de origem (2 planilhas em → 2 entradas; 50 planilhas em → 50 entradas). Sempre envolva a próxima etapa em "Aplicar a cada" sobre documentos de saída. Escolhendo Conteúdo do arquivo De fora do loop, nada é retornado de forma útil. Dentro do loop, o seletor de conteúdo dinâmico expõe Nome do arquivo e Conteúdo do arquivo sobre o item atual.

Isso resolve problemas comuns do mundo real.

As pessoas pesquisam esse problema com frases surpreendentemente específicas. Aqui estão as consultas reais que este fluxo responde:

  • "Como faço para dividir automaticamente um arquivo do Excel com várias planilhas em arquivos separados?" Sim. Este fluxo faz exatamente isso. Basta arrastar e soltar a planilha de origem no Dropbox, e a divisão e o upload acontecem automaticamente.
  • "O Power Automate consegue salvar cada planilha como um arquivo Excel separado?" Sim, através da ação PDF4me Connect mais um loop "Aplicar a cada". Sem VBA, sem scripts do Office.
  • "Preciso escrever uma ação por folha?" Não. A opção "Aplicar a cada" lida com qualquer quantidade de folhas. O corpo do fluxo nunca muda.
  • "E se a planilha tiver 100 folhas?" O fluxo é o mesmo. O loop simplesmente itera 100 vezes. Cada iteração dura aproximadamente 1 segundo.
  • "Posso renomear os arquivos de saída?" Sim, crie o novo nome com uma etapa de Composição ou expressão dentro do loop antes de Criar arquivo. Consulte a seção de solução de problemas.

O que você está construindo?

Um fluxo do Power Automate com quatro ações que transforma qualquer planilha em um fluxo com várias folhas. .xlsx e grava um arquivo por planilha em uma pasta de destino. Reutilizável em listas de RH, fluxos de vendas divididos por região, relatórios mensais divididos por mês, qualquer coisa que exista como várias guias em uma única pasta de trabalho.

Fluxo do Power Automate com quatro ações: Acionar um fluxo manualmente, Obter conteúdo do arquivo do Dropbox usando o caminho, PDF4me Excel - Planilhas separadas e, em seguida, Para cada, Criar arquivo (mostrando a iteração 1 de 5). Tempos de execução: 0s, 1s, 2s, 5s para o "Para cada" e 1s para "Criar arquivo".
O fluxo completo. O loop "Para cada" é executado 5 vezes (uma vez por planilha de saída); cada iteração leva aproximadamente 1 segundo.

Do que você precisa

  • Power Automate conta com um fluxo aberto no designer em nuvem. Abra o Power Automate.
  • Chave da API do PDF4me. Obtenha sua chave de APIAdicione a conexão PDF4me Connect na primeira vez que você soltar a ação.
  • Dropbox Com uma pasta de origem e uma pasta de saída. Qualquer serviço de armazenamento funciona: SharePoint, OneDrive, Dataverse funcionam da mesma maneira.
  • Uma planilha do Excel com várias abas. Baixe o arquivo separate.xlsx para acompanhar exatamente (5 abas, registros de pessoas).

Guia rápido: o que cada parte faz

outputDocuments
The array the action returns. One entry per sheet. Always loop with Apply to each.
File Name (item)
Sheet name plus .xlsx extension. Pass directly into Create file File Name.
File Content (item)
Binary single-sheet workbook. Pass directly into Create file File Content.
Worksheet Indexes
Optional. Leave empty for all sheets. Comma-separated 1-based to restrict (e.g. 1,3).
Culture & Language
Defaults to en-US. Switch to fr-FR, de-DE, ja-JP, pt-BR for non-US sheet content.
Error Details Item
Itemised failure array. Empty on success; wire into a Condition for retry logic.

Uma análise da entrada

Abrir Separate.xlsx No Excel. Possui 5 abas (Planilha1 a Planilha5), cada uma preenchida com linhas de registros de pessoas: Nome, Sobrenome, Sexo, País, Idade, Data, ID.

O arquivo Separate.xlsx é aberto no Excel, mostrando a Planilha5 ativa. As colunas contêm os seguintes dados: Número, Nome, Sobrenome, Sexo, País, Idade, Data e ID. Há cerca de 50 linhas com registros. As abas Planilha1, Planilha2, Planilha3, Planilha4 e Planilha5 estão visíveis na parte inferior.
Planilha de origem. Cinco abas na parte inferior, cada uma com aproximadamente 50 linhas de registros de pessoas.
Pasta de origem do Dropbox /pdf4metest/excel/separate worksheets contendo Separate.xlsx.
A pasta de origem antes da execução do fluxo. Apenas uma planilha.

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 (SharePoint), Quando um novo e-mail chega (Outlook), Recorrênciaou qualquer outro gatilho.

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

Aponte para a planilha de origem:

/pdf4metest/excel/separate worksheets/Separate.xlsx

Deixar Inferir tipo de conteúdo em seu padrão (Sim) em Parâmetros avançados.

A ação "Obter conteúdo do arquivo usando o caminho" do Dropbox está definida como /pdf4metest/excel/separate worksheets/Separate.xlsx. O parâmetro avançado "Inferir tipo de conteúdo" está definido como "Sim".

Ação 3: PDF4me - Excel - Planilhas Separadas

Procurar PDF4me no seletor de ações e escolha Excel - Planilhas SeparadasConfigurar:

CampoValor usado nesta execução.
File ContentFile Content from the previous Dropbox step (dynamic content)
File NameSeparate.xlsx
Culture & Language Settings (Advanced)en-US (default. change only for non-US locales)
PDF4me Excel - Ação "Planilhas Separadas" configurada. Conteúdo do arquivo mapeado do Dropbox. Nome do arquivo: Separate.xlsx. Parâmetros avançados exibindo as configurações de cultura e idioma (en-US).
Configuração de ação. O idioma padrão é en-US. Alterne para fr-FR, Isso é o, I-JP etc., somente se o conteúdo da planilha usar formatos de número/data que não sejam dos EUA.

Ação 4: Aplicar a cada → Dropbox - Criar arquivo

Após a ação "Separar Planilhas", adicione Aplicar a cada e selecione documentos de saída a partir do seletor de conteúdo dinâmico. Dentro do loop, arraste e solte um Dropbox. Criar arquivo Ação e configure-a assim:

CampoValor usado nesta execução.
Folder Path/pdf4metest/excel/separate worksheets/output
File NameFile Name (dynamic content from the current item)
File ContentFile Content (dynamic content from the current item)
Aplique a cada loop que envolve a ação Criar arquivo. A lista suspensa de seleção de saída mostra os documentos de saída selecionados na etapa anterior Excel - Planilhas Separadas.
O loop "Aplicar a cada" itera sobre os documentos de saída. O nome do arquivo e o conteúdo do arquivo do item atual são exibidos no seletor de conteúdo dinâmico dentro do loop.
Dropbox. Criar arquivo dentro do loop. Caminho da pasta: /pdf4metest/excel/separate worksheets/output. Nome do arquivo: conteúdo dinâmico. Conteúdo do arquivo: conteúdo dinâmico. Conectado ao Dropbox.
Dentro do loop. O nome do arquivo e o conteúdo do arquivo vêm do item atual.

Salvar e clicar Teste. Feito.


O resultado

Abra a pasta de saída no Dropbox. Os 5 arquivos de planilha individuais foram salvos, cada um nomeado de acordo com a planilha de origem:

Pasta de saída do Dropbox listando os arquivos Sheet1.xlsx, Sheet2.xlsx, Sheet3.xlsx, Sheet4.xlsx e Sheet5.xlsx.
Cinco cadernos de exercícios separados, um para cada folha de origem, organizados em ordem alfabética.

Faça o download dos arquivos de saída reais desta execução: planilha1.xlsx, planilha2.xlsx, planilha3.xlsx, planilha4.xlsx, planilha5.xlsx.


Solução de problemas

Apply to each does not show File Name / File Content
Make sure the loop is iterating outputDocuments, not the action itself. Click the Apply to each dropdown, search "outputDocuments", and pick it.
Only one file appears in the output folder
Create file is OUTSIDE the loop. Drag it inside the Apply to each container so it runs once per item.
Output files all overwrite each other
Two causes: (a) File Name is hardcoded instead of mapped to dynamic content. delete and re-pick File Name from the inner item; (b) two sheets in the source share the same name. rename them in Excel or build a unique name in a Compose step.
Decimals read as text or dates
A sheet using 1.234,56 (comma decimal) gets misinterpreted because Culture & Language Settings is en-US. Switch to your locale (fr-FR, de-DE, pt-BR, etc).
Cross-sheet formula came out as #REF!
Expected. After splitting, =Sheet2!A1 from a Sheet1 output cannot resolve because Sheet2 is now in a different file. Plan each sheet to be self-contained, or pre-compute the values upstream.
Need a date prefix on each output file name
Inside the Apply to each, add a Compose before Create file with: concat(formatDateTime(utcNow(),'yyyy-MM-dd'),'_',items('Apply_to_each')?['fileName']). Point File Name at the Compose output. Result: 2026-06-02_Sheet1.xlsx.

Quando usar este padrão

Monthly report distribution
One workbook arrives with Jan, Feb, Mar tabs. Split, then email each tab to its owner.
Regional sales splits
Single workbook with one tab per territory becomes individual files for each regional manager.
HR roster fan-out
One company workbook with one tab per department. Upload each tab to the right SharePoint library.
Data prep for downstream tools
Many BI and accounting tools accept single-sheet inputs only. Split once, ingest many.
Compliance and auditing
Each split file is a self-contained artifact you can store, version, or sign without dragging the rest of the workbook.

O que ler a seguir


Perguntas frequentes

How do I split an Excel file with multiple sheets into separate files automatically in Power Automate?+
Use the PDF4me Excel - Separate Worksheets action. It takes a single multi-sheet .xlsx as input and returns an outputDocuments array with one file per sheet. Wrap the result in an Apply to each loop and write each item with Create file. Four actions total: trigger, Get file content, Separate Worksheets, Apply to each → Create file.
Can Power Automate save each sheet as a separate Excel file without code?+
Yes. The PDF4me Excel - Separate Worksheets action is a no-code cloud connector. There is no VBA, no Office Script, no Power Automate Desktop required. it runs entirely in the Power Automate cloud designer and outputs ready-to-save .xlsx files.
What happens if the source workbook has a different sheet count next run?+
Nothing breaks. The action dynamically returns one outputDocuments entry per sheet present, and the Apply to each iterates whatever the array length is. Build the flow once with a 5-sheet sample and it will handle 2-sheet or 200-sheet workbooks identically.
Do the output files keep their sheet names?+
Yes. Each output file is named after its source sheet name plus the .xlsx extension. Sheet5 → Sheet5.xlsx. If you have custom sheet names (e.g. "Q1 2025"), the output file is "Q1 2025.xlsx" accordingly.
Will my formulas still work after the split?+
Intra-sheet formulas (everything that references cells on the same sheet) work as expected. the engine preserves cell values, number formats, and styles. Cross-sheet references like =Sheet2!A1 cannot survive because Sheet2 is no longer in the same file; expect those to become #REF!. Plan the workbook so each sheet is self-contained, or pre-compute the values upstream.
Can I use SharePoint, OneDrive, or Dataverse instead of Dropbox?+
Yes. Swap the Dropbox actions for SharePoint Get file content / Create file, OneDrive Get file content / Create file, or Dataverse Download file / Add file. The PDF4me action and its parameters are identical regardless of source.
How do I rename the output files (add a date prefix, replace spaces, etc.)?+
Inside the Apply to each loop, add a Compose step before Create file. Build the new name with concat() and formatDateTime() expressions, then bind Create file → File Name to the Compose output. Example: concat(formatDateTime(utcNow(),'yyyy-MM-dd'),'_',items('Apply_to_each')?['fileName']) produces 2026-06-02_Sheet1.xlsx.
Is there a limit on the number of sheets I can split?+
Practical limits are bounded by Power Automate run-time and action body size. A single workbook with hundreds of sheets is fine; the loop just iterates more times. For thousands of sheets, consider Power Automate concurrency settings or batching the work across multiple runs.
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 same Separate Worksheets REST endpoint with the HTTP action.

Comece agora