Altova MapForce 2026 Enterprise Edition

Exemple : Convertir Excel en JSON

Accueil Préc Haut Suivant

Cet exemple vous montre comment créer un document JSON à partir d'un fichier Excel avec MapForce. Le classeur Excel source se compose de deux feuilles de calcul : Office et Staff. La feuille de calcul Office fournit des informations sur l'adresse de l'entreprise, tandis que la feuille de calcul Staff répertorie tous les employés.

mf_json_06

Feuille de calcul du personnel

Les exigences commerciales sont les suivantes :

 

1.extraire les données du fichier Excel et les convertir en un document JSON.

2.Le fichier JSON doit préciser, pour chaque employé, si son numéro de poste peut être partagé pour des contrats externes. Seuls les numéros de poste des employés des services Marketing et Administration peuvent être partagés en externe.

3.Les partages de chaque employé doivent être indiqués dans le fichier JSON sous forme de valeur numérique, qui peut inclure zéro. Si elles ne sont pas connues, les partages doivent être indiqués comme null dans le fichier JSON.

 

Le mappage qui permet d'atteindre l'objectif ci-dessus est illustré ci-dessous. Ce mappage est disponible sous le chemin suivant : <Documents>\Altova\MapForce2026\MapForceExamples\\Excel_Company_To_JSON.mfd.

mf_json_07

Excel_Company_To_JSON.mfd

Comme indiqué ci-dessus, le mappage se compose d'un composant Excel source et d'un composant JSON cible. Notez que les deux feuilles de calcul du fichier Excel apparaissent comme sur le composant Excel source. Le nom de la société est mappé à partir de la feuille de calcul Office, tandis que les autres champs sont mappés à partir de la feuille de calcul Staff. Pour afficher la configuration du mappage permettant de lire les données de ligne de chaque feuille de calcul, cliquez sur le bouton correspondant AddRemove_Selections. Pour la feuille de calcul Staff, les paramètres sont illustrés ci-dessous.

mf_json_08

Les paramètres ci-dessus indiquent au mappage de lire les lignes à partir de 1 jusqu'à la fin (de manière dynamique). La première ligne est un en-tête contenant les noms des colonnes, c'est pourquoi la case à cocher Première ligne est la ligne d’en-tête... est sélectionnée. La boîte de dialogue spécifie également le type des colonnes A à G, ainsi que le nom sous lequel chaque colonne apparaît dans le mappage. Pour plus d'informations sur les composants Excel, voir Microsoft OOXML Excel 2007+.

 

Le composant cible est une structure JSON. Vous pouvez ajouter des composants JSON au mappage comme décrit dans Ajouter des fichiers JSON en tant que composants de mappage. La structure reflète le schéma JSON, employees.schema.json, disponible dans le même dossier que le mappage. Pour plus d'informations sur la configuration du composant JSON, voir Paramètres de composant JSON.

 

Il existe également plusieurs composants intermédiaires dans le mappage. Le premier est un composant value-map. Le value-map détermine, en fonction du service, si le numéro de téléphone peut être partagé en externe. Cela correspond à l'exigence métier n° 2 ci-dessus. Vous pouvez afficher les paramètres du composant value-map en double-cliquant sur sa barre de titre :

mf_json_09

La configuration ci-dessus peut être résumée comme suit : Si le Service est « Administration » ou « Marketing », le retour est true. Sinon, le retour est false. La valeur true ou false calculée de cette manière est ensuite écrite dans la propriété JSON cible. Pour plus d'informations sur les mappages de valeurs, voir Utiliser des Value-Maps.

 

Enfin, le mappage utilise la fonction exists, qui sert à déterminer, dans le contexte de chaque ligne, si une valeur Shares existe dans le fichier Excel source. Cette fonction renvoie la valeur booléenne true si la valeur existe, ou false dans le cas contraire. La valeur true ou false obtenue est ensuite fournie comme entrée à une condition If-Else. Si la valeur est false, un string vide fourni par une constante est transmis à l'élément cible Shares as null. Cette valeur vide deviendra une valeur null dans le fichier JSON résultant, car il s'agit du type de données de l'élément Shares as null, comme indiqué par l'icône disp_jsonnull.

 

Si la valeur de partage de l'employé est numérique, elle ne remplira plus la condition If-Else. Elle sera alors écrite dans l'élément cible Shares as number (qui est de type numérique disp_jsonnumber), via une connexion distincte.

 

Pour plus d'informations sur l'ajout de fonctions à un mappage, voir Ajouter une fonction au mappage. Les conditions If-Else sont décrites plus en détail dans la section Filtres et conditions.

 

Exécuter le mappage

Pour consulter le fichier généré dans MapForce, cliquez sur le volet Sortie. L’image ci-dessous illustre uniquement un fragment du fichier JSON résultant.

mf_json_10

Sortie de mappage

Pour enregistrer la sortie de mappage vers un fichier, suivez une des étapes suivantes :

 

Dans le menu de Sortie, cliquez sur Enregistrer le fichier de sortie.

Cliquez sur le bouton de la barre d’outils Enregistrer la sortie générée ic-save-sel-string .

 

Automatisation avec MapForce Server

Si vous avez une licence pour MapForce Server, vous pouvez également exécuter le mappage à la ligne de commande, sur un appareil Linux ou Windows. Veuillez noter qu’exécuter des mappages sur un serveur requiert typiquement quelques étapes supplémentaires, tel que décrit dans Préparer les mappages à l’exécution de serveur. Vous trouverez ici les étapes requises pour exécuter ce mappage particulier sur un serveur :

 

1.Cliquez avec le bouton droit sur le mappage et sélectionnez Paramètres de mappage dans le menu contextuel. Assurez-vous que la case Rendre les chemins absolus dans le code généré n'est pas cochée, puis enregistrez le mappage.

2.Dans le menu Fichier, cliquez sur Compiler vers un fichier d'exécution MapForce Server. Un fichier .mfx exécutable est alors généré dans le répertoire <Documents>\Altova\MapForce2026\MapForceExamples\.

3.Copiez le fichier .mfx généré vers un répertoire sur l’appareil du serveur (appelons-le « répertoire de travail »).

4.Copiez le fichier Excel à partir de <Documents>\Altova\MapForce2026\MapForceExamples\\Nanonull Inc.xlsx vers le répertoire de travail sur le serveur.

5.Ouvrez un terminal et changez le répertoire actuel vers le répertoire de travail.

6.Exécuter le serveur MapForce avec la commande ci-dessous. Modifiez mapforceserver_exec pour qu'il corresponde au chemin d'accès au fichier exécutable MapForce Server de votre système d'exploitation.

 

mapforceserver_exec run Excel_Company_To_JSON.mfx

 

Lors de l'exécution sur le serveur, vous pouvez également exécuter des mappages sous forme d'appel API ou de tâches FlowForce Server, à la demande ou de manière récurrente. Pour plus d’information, voir Compiler des Mappages sur les fichiers d’exécution MapForce Server.

© 2019-2025 Altova GmbH