Zum Hauptinhalt springen

Aufteilen einer mehrteiligen Excel-Arbeitsmappe in separate Dateien in Power Automate (4 Aktionen, beliebige Anzahl an Blättern)

· 20 Minuten Lesezeit
SEO and Content Writer

Ein Arbeitsheft mit 5, 50 oder 500 Blättern kann in einzelne Abschnitte unterteilt werden. .xlsx Dateien in einem einzigen Power Automate-Flow. PDF4me Excel - Separate Arbeitsblätter gibt ein Array mit einer Datei pro Tabellenblatt zurück; ein Auf jedes Element anwenden loop-lüfter schreibt Daten in Dropbox, SharePoint, OneDrive oder Dataverse. Diese Anleitung beschreibt den genauen Ablauf, der in den Screenshots dargestellt ist: ein 5-Tab-Loop. Separate.xlsx in Dropbox wird Sheet1.xlsx durch Sheet5.xlsx in einem Ausgabeverzeichnis. Gesamtablauf: 4 Aktionen, kein Code, Laufzeit ca. 9 Sekunden (End-to-End).Die

Der Fluss im Überblick
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.
Die Kurzfassung

Ein manueller Auslöser startet den Ablauf. Dropbox Dateiinhalt über den Pfad abrufen liest Separate.xlsx (5 Blätter, jedes mit einer anderen Liste von Personendatensätzen). Excel - Separate Arbeitsblätter gibt ein zurück Ausgabedokumente Array mit 5 Einträgen: {fileName: "Sheet1.xlsx", streamFile: "<base64>"} bis einschließlich Sheet5.xlsx. Ein Auf jedes Element anwenden Die Funktion „over outputDocuments“ wird einmal pro Tabellenblatt ausgeführt (der Screenshot zeigt dies). 1 von 5 Iterationszähler) und verwendet Datei erstellen um jede XLSX-Datei in /pdf4metest/excel/separate worksheets/outputIm Ausgabeverzeichnis befinden sich die 5 aufgeteilten Dateien, alphabetisch sortiert.

Was die Leute übersehen: Auf jedes Element anwenden ist nicht optional

Excel - Separate Arbeitsblätter gibt ein Ergebnis zurück ArrayEs handelt sich nicht um eine einzelne Datei. Die Anzahl der Einträge hängt von der Quellarbeitsmappe ab (2 Tabellenblätter → 2 Einträge; 50 Tabellenblätter → 50 Einträge). Der nächste Schritt in „Auf jedes Element anwenden“ muss immer über die gesamte Datei umschlossen werden. Ausgabedokumente. Pflücken Dateiinhalt Von außerhalb der Schleife liefert die Abfrage keine brauchbaren Ergebnisse. Innerhalb der Schleife stellt die dynamische Inhaltsauswahl folgende Informationen bereit: Dateiname Und Dateiinhalt zum aktuellen Punkt.

Häufige Probleme aus dem Alltag, die damit gelöst werden

Die Nutzer suchen nach diesem Problem mit erstaunlich spezifischen Formulierungen. Hier sind die tatsächlichen Suchanfragen, die dieser Ablauf beantwortet:

  • Wie kann ich eine Excel-Datei mit mehreren Tabellenblättern automatisch in separate Dateien aufteilen? Ja. Dieser Workflow macht genau das. Sie ziehen die Quellarbeitsmappe in Dropbox hoch, das Aufteilen und Hochladen erfolgt vollautomatisch.
  • Kann Power Automate jedes Tabellenblatt als separate Excel-Datei speichern? Ja, über die PDF4me Connect-Aktion und eine „Auf jedes Element anwenden“-Schleife. Ohne VBA, ohne Office-Skripte.
  • "Muss ich für jedes Blatt eine Aktion aufschreiben?" Nein. Die Anweisung „Auf jedes Blatt anwenden“ berücksichtigt die Anzahl der Blätter. Der Ablaufplan ändert sich nie.
  • "Was ist, wenn das Arbeitsbuch 100 Blätter hat?" Gleicher Ablauf. Die Schleife wird einfach 100 Mal durchlaufen. Jede Iteration dauert etwa 1 Sekunde.
  • Kann ich die Ausgabedateien umbenennen? Ja, erstellen Sie den neuen Namen mithilfe eines Compose-Schritts oder eines Ausdrucks innerhalb der Schleife vor dem Erstellen der Datei. Siehe Abschnitt zur Fehlerbehebung.

Was Sie bauen

Ein Power Automate-Workflow mit vier Aktionen, der beliebige mehrseitige Tabellen verarbeiten kann. .xlsx und speichert pro Arbeitsblatt eine Datei in einem Zielordner. Wiederverwendbar für Personalakten, nach Regionen aufgeteilte Vertriebspipelines, nach Monaten aufgeteilte Monatsberichte – alles, was in einer einzigen Arbeitsmappe auf mehreren Registerkarten vorhanden ist.

Power Automate-Flow mit vier Aktionen: Manuelles Auslösen eines Flows, Dropbox-Dateiinhalt anhand des Pfads abrufen, PDF4me Excel – Arbeitsblätter trennen, dann für jede Aktion eine Datei erstellen (Iteration 1 von 5). Laufzeiten: 0 s, 1 s, 2 s, 5 s für die Schleife „Für jede Aktion“, 1 s für „Datei erstellen“.
Der vollständige Ablauf. Die For-Each-Schleife wird 5 Mal durchlaufen (einmal pro Ausgabeblatt); jede Iteration dauert etwa 1 Sekunde.

Was Sie benötigen

  • Power Automate Konto mit einem im Cloud Designer geöffneten Flow. Power Automate öffnenDie
  • PDF4me API-SchlüsselDie Holen Sie sich Ihren API-SchlüsselFügen Sie die PDF4me Connect-Verbindung beim ersten Ausführen der Aktion hinzu.
  • Dropbox mit einem Quellordner und einem Ausgabeordner. Jeder Speicherort funktioniert: SharePoint, OneDrive, Dataverse – alles funktioniert gleich.
  • Eine Excel-Arbeitsmappe mit mehreren TabellenblätternDie Separate.xlsx herunterladen genau folgen (5 Registerkarten, Personendatensätze).

Kurzübersicht: Funktion der einzelnen Teile

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.

Ein Blick auf die Eingabe

Offen Separate.xlsx in Excel. Es hat 5 Tabellenblätter (Tabelle1 bis Tabelle5), die jeweils mit Zeilen von Personendatensätzen gefüllt sind: Vorname, Nachname, Geschlecht, Land, Alter, Datum, ID.

Die Datei „Separate.xlsx“ ist in Excel geöffnet, wobei Tabelle 5 aktiv ist. Die Spalten enthalten die Angaben „Nummer“, „Vorname“, „Nachname“, „Geschlecht“, „Land“, „Alter“, „Datum“ und „ID“. Es sind etwa 50 Zeilen mit Datensätzen enthalten. Die Registerkarten „Tabelle1“, „Tabelle2“, „Tabelle3“, „Tabelle4“ und „Tabelle5“ sind unten sichtbar.
Quellarbeitsmappe. Fünf Registerkarten am unteren Rand, jede mit ca. 50 Zeilen Personendatensätzen.
Dropbox-Quellordner /pdf4metest/excel/separate worksheets containing Separate.xlsx.
Der Quellordner vor Ausführung des Workflows. Nur die eine Arbeitsmappe.

Den Ablauf gestalten

Aktion 1: Einen Ablauf manuell auslösen

Für Testzwecke ist der manuelle Auslöser am schnellsten. Im Produktivbetrieb sollte er durch Folgendes ersetzt werden: Wenn eine Datei erstellt wird (Dropbox), Wenn ein Element erstellt wird (SharePoint), Wenn eine neue E-Mail eingeht (Outlook), Wiederauftretenoder einem anderen Auslöser.

Aktion 2: Dropbox – Dateiinhalte anhand des Pfads abrufen

Richten Sie es auf die Quellarbeitsmappe aus:

/pdf4metest/excel/separate worksheets/Separate.xlsx

Verlassen Inhaltstyp ableiten in der Standardeinstellung (Ja) unter Erweiterte Parameter.

Dropbox-Aktion „Dateiinhalt anhand des Pfads abrufen“. Der Dateipfad ist auf „/pdf4metest/excel/separate worksheets/Separate.xlsx“ festgelegt. Erweiterte Parameter: „Inhaltstyp ableiten“ ist aktiviert.

Aktion 3: PDF4me - Excel - Separate Arbeitsblätter

Suchen nach PDF4me im Aktionsauswahlfeld und Auswählen Excel - Separate ArbeitsblätterKonfigurieren:

FeldIn diesem Lauf verwendeter Wert
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 – Aktion „Arbeitsblätter trennen“ konfiguriert. Dateiinhalt aus Dropbox abgerufen. Dateiname: Separate.xlsx. Erweiterte Parameter: Kultur- und Spracheinstellungen (Englisch, USA).
Aktionskonfiguration. Standardkultur: en-US. Umschalten auf fr-FR, Das ist das, I-JP etc. nur dann, wenn der Inhalt des Blattes nicht-US-amerikanische Zahlen-/Datumsformate verwendet.

Aktion 4: Auf jedes anwenden → Dropbox – Datei erstellen

Nach der Aktion „Arbeitsblätter trennen“ hinzufügen Auf jedes Element anwenden und auswählen Ausgabedokumente Aus dem dynamischen Inhaltsauswahlfeld. Innerhalb der Schleife eine Dropbox ablegen. Datei erstellen Aktion und Konfiguration wie folgt:

FeldIn diesem Lauf verwendeter Wert
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)
Wenden Sie diese Aktion auf jede Schleife an, die die Aktion „Datei erstellen“ umschließt. Die Dropdown-Liste zur Auswahl eines Ausgabedokuments zeigt die im vorherigen Schritt „Excel – Arbeitsblätter trennen“ ausgewählten Ausgabedokumente an.
Die Methode „Auf jedes Element anwenden“ durchläuft die Ausgabedokumente. Der Dateiname und der Dateiinhalt des aktuellen Elements werden innerhalb der Schleife im dynamischen Inhaltsauswahlfeld angezeigt.
Dropbox erstellt Datei innerhalb der Schleife. Ordnerpfad: /pdf4metest/excel/separate worksheets/output. Dateiname: dynamischer Inhalt. Dateiinhalt: dynamischer Inhalt. Verbindung zu Dropbox hergestellt.
Innerhalb der Schleife. Dateiname und Dateiinhalt stammen vom aktuellen Element.

Speichern und klicken Prüfen. Erledigt.


Das Ergebnis

Öffnen Sie den Ausgabeordner in Dropbox. Die 5 Arbeitsmappen mit jeweils einem Tabellenblatt sind angekommen; jede ist nach ihrem Quell-Tabellenblatt benannt:

Dropbox-Ausgabeordner mit den Dateien Sheet1.xlsx, Sheet2.xlsx, Sheet3.xlsx, Sheet4.xlsx, Sheet5.xlsx.
Fünf separate Arbeitshefte, eines pro Quellenblatt, alphabetisch sortiert.

Laden Sie die eigentlichen Ausgabedateien dieses Durchlaufs herunter: sheet1.xlsx, sheet2.xlsx, sheet3.xlsx, sheet4.xlsx, sheet5.xlsxDie


Fehlerbehebung

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.

Wann man dieses Muster verwendet

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.

Was Sie als Nächstes lesen sollten


Häufig gestellte Fragen

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.

Los geht's!