Remplir un modèle Excel à partir de JSON dans Power Automate : un flux de travail Dropbox en 4 étapes avec les marqueurs intelligents Aspose

Déposez un modèle Excel qui utilise Marqueurs intelligents Aspose (cellules écrites comme &=RootData.Items.ItemName) dans Dropbox, collez une charge utile JSON correspondante dans un flux Power Automate, et le classeur rempli est renvoyé dans Dropbox avec les totaux déjà calculés. Ce guide décrit la procédure flux exact à quatre actions Comme le montrent les captures d'écran : déclencheur manuel, Dropbox Récupérer le contenu du fichier à l'aide du chemin d'accès, PDF4me Excel - Rempliret Dropbox Créer un fichierChaque valeur de champ provient d'une exécution réelle ; le modèle d'entrée, la charge utile JSON et le classeur de sortie sont tous liés à la fin.
Un déclencheur manuel lance le flux. Dropbox Récupérer le contenu du fichier à l'aide du chemin d'accès lectures Modèle Aspose.xlsx (le classeur contient un véritable fichier Excel) Tableau nommé Facture simple avec des cellules comme &=RootData.Items.ItemName dans la rangée 2). PDF4me Excel - Remplir fusionne la charge utile JSON (3 enregistrements : Ordinateur portable, Souris, Clavier) dans l'index de la feuille de calcul 1 avec des formules recalculées. Dropbox Créer un fichier écrit Excel_populate.xlsx (Sous-total de la facture) 1 635,00 $Taxe de vente 98,10 $, TOTAL 1 585,00 $) de retour dans /sortir.
Premièrement, le Les clés de premier niveau des données JSON doivent correspondre aux noms de la source de données utilisés dans les marqueurs cellulaires. Des marqueurs comme &=RootData.Items.ItemName exiger que le JSON encapsule les enregistrements sous RootData.Items[]Les noms de champs sont sensibles à la casse. Deuxièmement, Index des feuilles de travail Le champ est indexé à partir de 1 et les valeurs sont séparées par des virgules. Le modèle est fourni avec trois feuilles (Facture, Feuille1, Feuille 2). Passer 1 pour remplir uniquement la feuille de facture détaillée présentée dans ce guide.
Ce que vous êtes en train de construire
Un flux Power Automate en quatre étapes qui convertit un modèle Excel personnalisé et une charge utile JSON en un classeur Excel complet avec des formules dynamiques. Ce même principe s'applique aux factures, aux rapports d'inventaire, aux récapitulatifs de paie, aux récapitulatifs des ventes et à tout autre document Excel dont la structure reste inchangée, mais dont le nombre de lignes varie à chaque exécution.

Ce dont vous avez besoin
- Power Automate compte avec un flux ouvert dans le concepteur cloud.
- Clé API PDF4me. Obtenez votre clé APIAjoutez la connexion PDF4me Connect lors de la première exécution de l'action.
- Dropbox Deux dossiers sont prêts : un pour le modèle et un pour le fichier de sortie. (Tout système de stockage est compatible : SharePoint (Obtenir le contenu du fichier), OneDrive (Obtenir le contenu du fichier) et Dataverse (Télécharger le fichier) fonctionnent de la même manière.)
- Un modèle Excel utilisant Aspose Smart Markers. Télécharger
modèle.xlsx(également appeléModèle Aspose.xlsx(dans les captures d'écran) pour suivre exactement. - Exemple de données JSON. Télécharger
feuille1-données.json(l'imbriqué)RootData.Itemscharge utile utilisée lors de l'exécution).
Visite guidée du modèle de saisie
Avant de créer le flux, il est utile de voir à quoi ressemblent les marqueurs intelligents dans le fichier Excel. Ouvrez le Facture feuille de template.xlsxLa ligne 1 est l'en-tête. La ligne 2 contient les marqueurs (un par colonne). Les lignes 3 à 6 sont des lignes vides préformatées. En dessous se trouve un bloc de totaux. SimpleInvoice Agrégation de tableaux Excel.

Facture simple Tableau Excel.Les six marqueurs sont :
| Cellule | Marqueur |
|---|---|
| B2 | &=RootData.Items.ItemName |
| C2 | &=RootData.Items.Description |
| D2 | &=RootData.Items.Qty |
| E2 | &=RootData.Items.UnitPrice |
| F2 | &=RootData.Items.Discount |
| G2 | &=RootData.Items.Price |
Le bloc des totaux utilise références structurées au lieu des simples adresses A1 :
G7 =SUM(SimpleInvoice[Price])
G9 =IFERROR(G7*G8,"")
G11 =SUM(G2:G4)-G10
Lorsque Excel - Remplir étend la ligne de marqueur de 1 enregistrement à 3, SimpleInvoice La plage de valeurs du tableau s'étend automatiquement, et SUM(SimpleInvoice[Price]) La fonction additionne automatiquement la colonne de droite. C'est la raison même pour laquelle ce modèle est plus avantageux que d'écrire manuellement des formules pour chaque ligne.
Construisez le flux
Action 1 : Déclencher manuellement un flux
Pour les tests, la gâchette manuelle est la plus rapide. En production, remplacez-la par Lorsqu'un fichier est créé (Dropbox), Lorsqu'un élément est créé ou modifié (SharePoint), Récurrenceou tout événement qui vous fournit une nouvelle charge utile JSON.
Action 2 : Dropbox - Récupérer le contenu d'un fichier à partir de son chemin d'accès
Ensemble Chemin du fichier au chemin d'accès complet du modèle sur Dropbox, y compris le nom du fichier :
/pdf4metest/excel/populate excel/aspose template.xlsx
Sous Paramètres avancés, Déduire le type de contenu est réglé sur Oui (par défaut).

Action 3 : PDF4me - Excel - Remplir
C'est ici que la fusion a lieu. Recherchez PDF4me dans le sélecteur d'actions, puis choisissez Excel - RemplirConfigurez ces champs :
La charge utile complète des données JSON (copier-coller depuis 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 }
]
}
}

Développer Paramètres avancés pour les quatre options. Les valeurs par défaut sont généralement correctes, mais les captures d'écran montrent à quoi ressemble chaque valeur dans l'interface utilisateur :

Action 4 : Dropbox - Créer un fichier
La dernière étape consiste à réimporter le classeur rempli dans Dropbox :
| Champ | Valeur |
|---|---|
| Chemin du dossier | /pdf4metest/excel/populate excel/output |
| Nom de fichier | Excel_populate.xlsx |
| Contenu du fichier | Contenu du fichier de sortie (Contenu dynamique provenant d'Excel - Remplissage) |

Voilà le déroulement complet. Enregistrez et cliquez. Test.
Le résultat
Lorsque vous ouvrez Excel_populate.xlsx de la /output Dans le dossier, la feuille « Facture » contient désormais les trois enregistrements sur les lignes 2 à 4, et le bloc « Totaux » a calculé les valeurs en temps réel à partir de SimpleInvoice Agrégation de tableaux.

La preuve numérique exacte que les formules ont été recalculées correctement :
| Cellule | Formule | Résultat |
|---|---|---|
| G7 | =SUM(SimpleInvoice[Price]) | 1 635,00 $ (1450 + 75 + 110) |
| G9 | =IFERROR(G7*G8,"") avec G8 = 6,00% | 98,10 $ |
| G10 | Statique 50 | 50,00 $ (Dépôt reçu) |
| G11 | =SUM(G2:G4)-G10 | 1 585,00 $ (1635 + 98,10 - 50 ≈ affichage arrondi) |
Téléchargez le classeur de résultats généré par cette exécution : output-excel-populate.xlsx.
Dépannage
Une colonne sort vide. Le nom de votre propriété JSON ne correspond pas au nom du champ marqueur. Les marqueurs sont sensibles à la casse. &=RootData.Items.ItemName ne répondra PAS itemName à partir du JSON.
La mauvaise feuille de calcul a été remplie. Vérifier Index des feuilles de travailLa valeur est indexée à partir de 1 (et non de 0). Réussir 1 pour la première feuille, 2 pour la deuxième, etc. Laisser vide pour remplir chaque feuille.
Les totaux affichent $0.00 après la course. Formules de calcul est réglé sur NonPassez-le à Oui.
Les chaînes de caractères qui semblaient numériques ont été converties en nombres (ou inversement). Basculer Chaînes JSON strictes. Oui conserve les primitives JSON entre guillemets sous forme de texte. Non les contraint.
Les séparateurs décimaux ou les formats de date semblent incorrects pour votre langue. Changement Paramètres de culture et de langue. en-US, fr-FR, de-DE, ja-JP, etc. sont tous valides.
Les données sont bien reçues, mais seule la première ligne est remplie, même si vous avez envoyé plusieurs enregistrements. Le marqueur a été conçu avec le (noadd) modificateur (&=RootData.Items.ItemName(noadd)Supprimez le modificateur pour que le moteur insère de nouvelles lignes.
Quand utiliser ce modèle
- Génération de factures à partir des lignes de commande CRM. Extraire les lignes de Dynamics, Salesforce ou HubSpot dans un tableau JSON Items ; les afficher avec un modèle de facture Excel conçu à cet effet.
- Rapports mensuels d'inventaire et de ventes. Un déclencheur de récurrence, des lignes de liste Dataverse et ce flux vous permettent d'obtenir un fichier Excel impeccable en quelques minutes.
- Liste des ressources humaines, récapitulatif de la paie, notes de frais. Partout où une mise en page Excel prédéfinie rencontre de nouvelles données de lignes.
- Fichiers Excel que le destinataire ouvrira et modifiera. Excel - Remplir les résultats natifs
.xlsx(pas de PDF), afin que les destinataires puissent trier, filtrer et ajuster les formules ultérieurement.