Zum Hauptinhalt springen

Befüllen einer Excel-Vorlage aus JSON-Daten in Power Automate: Ein 4-stufiger Dropbox-Workflow mit Aspose Smart Markers

· 17 Minuten Lesezeit
SEO and Content Writer

Fügen Sie eine Excel-Vorlage hinzu, die Folgendes verwendet Aspose Smart Markers (Zellen geschrieben wie &=RootData.Items.ItemNameWenn Sie eine Datei in Dropbox hochladen, fügen Sie eine passende JSON-Nutzlast in einen Power Automate-Flow ein, und die ausgefüllte Arbeitsmappe landet mit bereits berechneten Summen wieder in Dropbox. Diese Anleitung führt Sie durch die einzelnen Schritte. exakter Vier-Aktionen-Ablauf In den Screenshots dargestellt: Manuelle Auslösung, Dropbox Dateiinhalt über den Pfad abrufen, PDF4me Excel - Ausfüllenund Dropbox Datei erstellenJeder Feldwert stammt aus einem realen Durchlauf; die Eingabevorlage, die JSON-Nutzlast und die Ausgabearbeitsmappe sind am Ende alle miteinander verknüpft.

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

Ein manueller Auslöser startet den Ablauf. Dropbox Dateiinhalt über den Pfad abrufen liest aspose template.xlsx (Die Arbeitsmappe enthält eine echte Excel-Datei.) Tisch benannt SimpleInvoice mit Zellen wie &=RootData.Items.ItemName in Zeile 2). PDF4me Excel - Ausfüllen Fügt die JSON-Nutzdaten (3 Datensätze: Laptop, Maus, Tastatur) in den Arbeitsblattindex ein. 1 mit neu berechneten Formeln. Dropbox Datei erstellen schreibt Excel_populate.xlsx (Rechnungszwischensumme) 1.635,00 USDUmsatzsteuer 98,10 €, GESAMT 1.585,00 USD) zurück in /AusgabeDie

Die beiden Faktoren, die darüber entscheiden, ob Ihre Ausgabe korrekt ist

Zunächst einmal die Die Schlüssel der obersten Ebene der JSON-Daten müssen mit den Namen der Datenquellen übereinstimmen. Sie werden in Zellmarkern verwendet. Marker wie &=RootData.Items.ItemName Sie benötigen das JSON, um die Datensätze einzuschließen RootData.Items[]Feldnamen unterscheiden Groß- und Kleinschreibung. Zweitens, Arbeitsblattverzeichnisse Die Felder sind 1-basiert und durch Kommas getrennt. Die Vorlage enthält drei Tabellenblätter (Rechnung, Blatt 1, Blatt2). Passieren 1 Es soll nur das in diesem Leitfaden gezeigte Rich-Rechnungsblatt ausgefüllt werden.

Was Sie aufbauen

Ein Power Automate-Flow mit vier Aktionen wandelt eine Excel-Vorlage und eine JSON-Datei in eine vollständig befüllte Arbeitsmappe mit dynamischen Formeln um. Das gleiche Verfahren funktioniert für Rechnungen, Inventurberichte, Gehaltsabrechnungen, Umsatzübersichten und alle anderen Excel-Dokumente, deren Struktur gleich bleibt, deren Zeilen sich aber bei jedem Durchlauf ändern.

Power Automate-Flow mit vier Aktionen: Flow manuell auslösen, Dropbox-Dateiinhalt anhand des Pfads abrufen, PDF4me Excel – Daten einfügen, Dropbox-Datei erstellen. Jede Aktion zeigt die Ausführungsdauer (0 s, 1 s, 0,7 s, 1 s) und ein grünes Häkchen an.
Der gesamte Ablauf dauert von Anfang bis Ende weniger als 3 Sekunden.

Was Sie benötigen

  • Power Automate Konto mit einem im Cloud Designer geöffneten Flow.
  • 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 Es sind zwei Ordner vorbereitet: einer für die Vorlage, einer für die Ausgabe. (Jeder Speicherort funktioniert: SharePoint (Dateiinhalte abrufen), OneDrive (Dateiinhalte abrufen) und Dataverse (Datei herunterladen) – alle funktionieren nach demselben Prinzip.)
  • Eine Excel-Vorlage mit Aspose Smart Markers. Herunterladen template.xlsx (auch als bezeichnet) aspose template.xlsx (siehe Screenshots), um genau folgen zu können.
  • JSON-Beispieldaten. Herunterladen sheet1-data.json (die verschachtelte RootData.Items Nutzdaten, die im Lauf verwendet wurden).

Eine Tour durch die Eingabevorlage

Bevor Sie den Workflow erstellen, ist es hilfreich, sich anzusehen, wie Smart Marker in der Excel-Datei aussehen. Öffnen Sie die Datei. Rechnung Blatt template.xlsxZeile 1 ist die Kopfzeile. Zeile 2 enthält die Spaltenmarkierungen (eine pro Spalte). Die Zeilen 3 bis 6 sind vorformatierte, leere Zeilen. Darunter befindet sich ein Summenblock mit einem SimpleInvoice Aggregation von Excel-Tabellen.

Excel-Rechnungsblatt. Die Kopfzeile (1) enthält Artikelname, Beschreibung, Menge, Einzelpreis, Rabatt und Preis. Zeile 2 enthält die Smart-Marker-Zellen: &=RootData.Items.ItemName, &=RootData.Items.Description, &=RootData.Items.Qty, &=RootData.Items.UnitPrice, &=RootData.Items.Discount, &=RootData.Items.Price. Unterhalb des Datenblocks befindet sich der Block „Rechnungszwischensumme 0,00 €“, „Steuersatz 6,00 %, Umsatzsteuer 0,00 €“, „Anzahlung erhalten 50,00 €“, „GESAMTSUMME -50,00 €“.
Die Vorlage vor der Bevölkerungszählung. Markierungen in Zeile 2; Zwischensummen-/Steuer-/Gesamtformeln beziehen sich auf die SimpleInvoice Excel-Tabelle.

Die sechs Markierungen sind:

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

Der Summenblock verwendet strukturierte Referenzen statt einfacher A1-Adressen:

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

Wenn Excel – Füllen Sie die Markierungszeile von 1 Datensatz auf 3 erweitert, SimpleInvoice Der Tabellenbereich wird automatisch erweitert, und SUM(SimpleInvoice[Price]) Es summiert fortlaufend die rechte Spalte. Genau deshalb ist dieses Muster dem manuellen Schreiben von Formeln für jede Zeile überlegen.


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 oder geändert wird (SharePoint), Wiederauftretenoder jedes Ereignis, das Ihnen eine neue JSON-Nutzlast liefert.

Aktion 2: Dropbox – Dateiinhalte anhand des Pfads abrufen

Satz Dateipfad zum vollständigen Dropbox-Pfad der Vorlage, einschließlich des Dateinamens:

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

Unter Erweiterte Parameter, Inhaltstyp ableiten ist eingestellt auf Ja (Standardeinstellung).

Dropbox-Aktion „Dateiinhalt anhand des Pfads abrufen“. Der Dateipfad ist auf „/pdf4metest/excel/populate excel/aspose template.xlsx“ festgelegt. Erweiterte Parameter: „Inhaltstyp ableiten“ ist aktiviert.
Dropbox: Dateiinhalte anhand des Pfades abrufen, wobei der exakte Dateipfad verwendet wird, der beim Ausführen verwendet wurde.

Aktion 3: PDF4me – Excel – Ausfüllen

Hier findet die Zusammenführung statt. Suche nach PDF4me im Aktionsauswahlfeld dann auswählen Excel - AusfüllenKonfigurieren Sie diese Felder:

FeldIm Lauf verwendeter Wert
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)

Die vollständige JSON-Datennutzlast (Kopieren und Einfügen von 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 – Aktion „Dateiinhalte aus dem vorherigen Dropbox-Schritt übernehmen“. JSON-Datenfeld mit dem verschachtelten Array „RootData.Items“ für Laptop, Maus und Tastatur. Dateiname: Populate.xlsx. Arbeitsblattindex: 1.
Excel - Füllen Sie die Daten mit dem exakten JSON-Datenblock und setzen Sie die Arbeitsblattindizes auf 1.

Expandieren Erweiterte Parameter für die vier optionalen Steuerelemente. Die Standardwerte sind in der Regel korrekt, aber die Screenshots zeigen, wie die einzelnen Werte in der Benutzeroberfläche aussehen:

Erweiterte Excel-Parameter – Daten einfügen. Strenge JSON-Zeichenfolgen: Ja. Kultur- und Spracheinstellungen: Englisch (USA). Formeln berechnen: Ja. Anführungszeichen als Formatvorlage verwenden: Ja.
Die vier erweiterten Einstellungen, die im Test verwendet wurden.
Fortgeschrittenes FachgebietWertWarum das wichtig ist
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.

Aktion 4: Dropbox – Datei erstellen

Im letzten Schritt wird die ausgefüllte Arbeitsmappe wieder in Dropbox hochgeladen:

FeldWert
Ordnerpfad/pdf4metest/excel/populate excel/output
DateinameExcel_populate.xlsx
DateiinhaltInhalt der Ausgabedatei (Dynamischer Inhalt aus Excel - Befüllen)
Dropbox-Aktion „Datei erstellen“. Ordnerpfad: /pdf4metest/excel/populate excel/output. Dateiname: Excel_populate.xlsx. Dateiinhalt aus Excel übernommen – Populate.
Dropbox: Datei mit der ausgefüllten Arbeitsmappe im Feld „Dateiinhalt“ erstellen.

Das ist der gesamte Ablauf. Speichern und klicken. PrüfenDie


Das Ergebnis

Wenn Sie öffnen Excel_populate.xlsx von /output Im Ordner enthält das Rechnungsblatt nun die drei Datensätze in den Zeilen 2 bis 4, und der Summenblock hat Live-Werte aus dem SimpleInvoice Tabellenaggregation.

Ausgefüllte Rechnung. Zeile 2: Laptop / Dell Inspiron 15 / 2 / 750 / 50,00 € / 1.450,00 €. Zeile 3: Maus / Kabellose Maus / 3 / 25 / 0,00 € / 75,00 €. Zeile 4: Tastatur / Mechanische Tastatur / 1 / 120 / 10,00 € / 110,00 €. Zwischensumme der Rechnung: 1.635,00 €, Steuersatz: 6,00 %, Umsatzsteuer: 98,10 €, Anzahlung erhalten: 50,00 €, Gesamtbetrag: 1.585,00 €.
Dieselbe Arbeitsmappe nach Ausführung des Datenflusses. Drei Datensätze wurden befüllt; Zwischensumme, Umsatzsteuer und Gesamtsumme wurden live berechnet.

Der exakte numerische Beweis dafür, dass die Formeln korrekt neu berechnet wurden:

ZelleFormelErgebnis
G7=SUM(SimpleInvoice[Price])1.635,00 USD (1450 + 75 + 110)
G9=IFERROR(G7*G8,"") mit G8 = 6,00 %98,10 €
G10Statisch 5050,00 € (Anzahlung erhalten)
G11=SUM(G2:G4)-G101.585,00 USD (1635 + 98,10 - 50 ≈ gerundete Anzeige)

Laden Sie die von diesem Lauf erzeugte Ausgabedatei herunter: output-excel-populate.xlsxDie


Fehlerbehebung

Eine Spalte wird als leer ausgegeben. Der Name Ihrer JSON-Eigenschaft stimmt nicht mit dem Namen des Markierungsfelds überein. Bei Markierungen wird zwischen Groß- und Kleinschreibung unterschieden. &=RootData.Items.ItemName wird NICHT abheben itemName aus dem JSON.

Das falsche Tabellenblatt wurde ausgefüllt. Überprüfen ArbeitsblattverzeichnisseDer Wert ist einsbasiert (nicht nullbasiert). Weiter 1 für das erste Blatt, 2 für das zweite usw. Lassen Sie die Felder leer, um jedes Blatt zu füllen.

Die Gesamtzahlen zeigen $0.00 nach dem Lauf. Formeln berechnen ist eingestellt auf NEINSchalten Sie es um auf JaDie

Zeichenketten, die numerisch aussahen, wurden in Zahlen umgewandelt (oder umgekehrt). Umschalten Strenge JSON-ZeichenkettenDie Ja Behält JSON-Primitive in Anführungszeichen als Text bei. NEIN zwingt sie.

Dezimaltrennzeichen oder Datumsformate scheinen für Ihre Region falsch zu sein. Ändern Kultur- und SpracheinstellungenDie en-US, fr-FR, de-DE, ja-JPusw. sind alle gültig.

Die Daten werden zwar übertragen, füllen aber selbst bei mehreren gesendeten Datensätzen nur die erste Zeile. Der Marker wurde mit dem (noadd) Modifikator (&=RootData.Items.ItemName(noadd)Entfernen Sie den Modifikator, damit die Engine neue Zeilen einfügt.


Wann man dieses Muster verwendet

  • Rechnungserstellung aus CRM-Positionen. Zeilen aus Dynamics, Salesforce oder HubSpot in ein JSON-Items-Array extrahieren; mit einer entworfenen Excel-Rechnungsvorlage darstellen.
  • Monatliche Bestands- und Verkaufsberichte. Die Kombination aus Wiederholungstrigger, Dataverse-Listenzeilen und diesem Workflow liefert Ihnen in wenigen Minuten ein professionelles Excel-Dokument.
  • Personalverzeichnis, Gehaltsabrechnung, Spesenabrechnungen. Überall dort, wo ein vorgegebenes Excel-Layout auf aktuelle Zeilendaten trifft.
  • Die Excel-Dateien werden vom Empfänger geöffnet und bearbeitet. Excel – Rückgabewerte mit der Funktion „Ausfüllen“ .xlsx (nicht PDF), damit Empfänger die Formeln nachgelagert sortieren, filtern und anpassen können.

Was Sie als Nächstes lesen sollten


Häufig gestellte Fragen

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.

Los geht's!