Interroger les zones de cellules mappées sur le chemin de la carte XML à l'aide d'Aspose.Cells
Introduction
Vous êtes-vous déjà demandé comment travailler avec des données XML dans Excel à l’aide de .NET ? Avec Aspose.Cells pour .NET, une bibliothèque puissante pour la manipulation de feuilles de calcul, vous pouvez facilement interagir avec les cartes XML dans vos fichiers Excel. Imaginez que vous avez un fichier Excel rempli de données structurées et que vous devez interroger des zones spécifiques mappées à des chemins XML. C’est là qu’Aspose.Cells brille. Dans ce didacticiel, nous allons nous plonger dans l’interrogation de zones de cellules mappées à des chemins de mappage XML dans des fichiers Excel à l’aide d’Aspose.Cells pour .NET. Que vous cherchiez à créer des rapports dynamiques ou à automatiser l’extraction de données, ce guide vous propose des instructions étape par étape.
Prérequis
Avant de nous lancer dans le codage, vous aurez besoin de quelques éléments :
- Aspose.Cells pour .NET : assurez-vous que cette bibliothèque est installée. Vous pouvez la téléchargerici ou obtenez-le via NuGet.
- Un fichier Excel mappé XML : pour ce tutoriel, vous aurez besoin d’un fichier Excel (.xlsx) contenant une carte XML.
- Environnement de développement : ce guide suppose que vous utilisez Visual Studio, mais n’importe quel éditeur C# devrait fonctionner correctement.
- Licence Aspose : Vous pouvez utiliser une licence temporaire si nécessaire, que vous pouvez obtenirici.
Paquets d’importation
Pour commencer, assurez-vous d’importer les espaces de noms nécessaires dans votre fichier de code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Collections;
Avec ces packages, vous serez prêt à accéder au classeur, à manipuler les feuilles de calcul et à interroger les cartes XML dans la feuille de calcul.
Étape 1 : Charger le fichier Excel contenant une carte XML
Tout d’abord, vous devez charger un fichier Excel contenant déjà un mappage XML. Ce fichier fait office de source de données.
// Définir les chemins d'accès aux répertoires source et sortie
string sourceDir = "Your Document Directory";
// Charger le fichier Excel
Workbook wb = new Workbook(sourceDir + "sampleXmlMapQuery.xlsx");
Ici,Workbook
est la classe représentant l’intégralité du fichier Excel, que vous chargez à l’aide du chemin d’accès au fichier. Remplacer"Your Document Directory"
avec le chemin d’accès réel au répertoire où se trouve votre fichier.
Étape 2 : Accéder à la carte XML dans le classeur
Une fois le fichier chargé, l’étape suivante consiste à accéder à la carte XML dans le classeur. Cette carte fait office de pont entre votre feuille de calcul et les données XML.
//Accéder à la première carte XML du classeur
XmlMap xmap = wb.Worksheets.XmlMaps[0];
Ici, nous récupérons la première carte XML du classeur en accédant àXmlMaps[0]
de laWorksheets
collection. Vous pouvez avoir plusieurs cartes XML dans un classeur, et ce didacticiel se concentre sur la première.
Étape 3 : Accéder à la feuille de calcul pour effectuer une requête
Une fois la carte XML prête, vous devez maintenant sélectionner la feuille de calcul spécifique dans laquelle se trouvent les données mappées. Il s’agit généralement de la première feuille de calcul, mais cela dépend de la configuration de votre fichier.
// Accéder à la première feuille de calcul du classeur
Worksheet ws = wb.Worksheets[0];
L’accès à la feuille de calcul dans laquelle se trouvent les données mappées au format XML vous permet de cibler des cellules spécifiques. Ici, nous utilisons la première feuille de calcul, mais vous pouvez choisir n’importe quelle autre feuille de calcul en modifiant l’index ou en spécifiant le nom.
Étape 4 : Interroger une carte XML à l’aide d’un chemin
Passons maintenant à la partie principale : interroger la carte XML. Ici, vous spécifiez le chemin XML et récupérez les données mappées sur ce chemin dans la feuille de calcul.
Console.WriteLine("Query Xml Map from Path - /MiscData");
ArrayList ret = ws.XmlMapQuery("/MiscData", xmap);
LeXmlMapQuery
La méthode prend deux paramètres : le chemin XML et la carte XML que vous avez récupérée précédemment. Dans cet exemple, nous interrogeons le chemin/MiscData
, qui est le chemin de niveau supérieur dans la structure XML. Les résultats sont stockés dans unArrayList
, ce qui facilite l’itération.
Étape 5 : Afficher les résultats de la requête
Avec les données interrogées, l’étape suivante consiste à afficher les résultats. Imprimons chaque élément de laArrayList
vers la console pour une vue claire des données extraites.
// Imprimer les résultats de la requête
for (int i = 0; i < ret.Count; i++)
{
Console.WriteLine(ret[i]);
}
Cette boucle parcourt chaque élément duArrayList
et l’imprime sur la console. Vous verrez les données extraites du chemin de la carte XML/MiscData
.
Étape 6 : Interroger un chemin XML imbriqué
Pour affiner votre requête, explorons un chemin imbriqué dans la structure XML, tel que/MiscData/row/Color
.
Console.WriteLine("Query Xml Map from Path - /MiscData/row/Color");
ret = ws.XmlMapQuery("/MiscData/row/Color", xmap);
Ici, nous interrogeons un chemin plus spécifique dans les données XML. En réduisant à/MiscData/row/Color
, vous ciblez uniquement les informations de couleur sous lerow
nœud dans la structure XML.
Étape 7 : Afficher les résultats de la requête de chemin imbriqué
Enfin, vous souhaiterez imprimer les résultats de cette requête raffinée pour voir les valeurs spécifiques mappées à/MiscData/row/Color
.
// Imprimer les résultats de la requête de chemin imbriqué
for (int i = 0; i < ret.Count; i++)
{
Console.WriteLine(ret[i]);
}
Tout comme précédemment, cette boucle renvoie les résultats de la requête vers la console, vous permettant d’examiner les données spécifiques extraites du chemin XML imbriqué.
Conclusion
Et voilà ! Avec Aspose.Cells pour .NET, l’interrogation des zones de cellules mappées sur des chemins de mappage XML est simple et très efficace. Cette fonctionnalité puissante change la donne pour les développeurs qui ont besoin d’extraire des données XML spécifiques à partir de feuilles de calcul. Vous disposez désormais des bases nécessaires pour implémenter des requêtes XML plus complexes et même combiner plusieurs mappages XML dans vos flux de travail Excel. Vous êtes prêt à aller plus loin ? Explorez la documentation Aspose.Cells pour découvrir des fonctionnalités de mappage XML supplémentaires afin d’améliorer vos applications !
FAQ
Puis-je mapper plusieurs fichiers XML dans un seul classeur Excel ?
Oui, Aspose.Cells vous permet de gérer plusieurs cartes XML dans un classeur, permettant des interactions de données complexes.
Que se passe-t-il si le chemin XML n’existe pas dans la carte ?
Si le chemin n’est pas valide ou n’existe pas, leXmlMapQuery
la méthode renverra une valeur videArrayList
.
Ai-je besoin d’une licence pour utiliser Aspose.Cells pour .NET ?
Oui, une licence est requise pour bénéficier de toutes les fonctionnalités. Vous pouvez essayer uneessai gratuitou obtenir unpermis temporaire.
Puis-je enregistrer les données interrogées dans un nouveau fichier Excel ?
Absolument ! Vous pouvez extraire les données interrogées et les écrire dans un autre fichier Excel ou dans tout autre format pris en charge par Aspose.Cells.
Est-il possible d’interroger des cartes XML dans d’autres formats qu’Excel (.xlsx) ?
Le mappage XML est pris en charge dans les fichiers .xlsx. Pour les autres formats, la fonctionnalité peut être limitée ou non prise en charge.