Excel est l’une des applications les plus utilisées pour l’analyse de données, la génération de rapports et la gestion financière. Souvent, vous devez comparer deux ou plusieurs classeurs Excel pour identifier les changements, valider les mises à jour ou suivre les révisions. Faire cela manuellement peut être long et sujet à erreurs. Heureusement, avec le GroupDocs.Comparison Cloud SDK pour .NET, vous pouvez comparer programmatique des classeurs Excel en C# et générer un nouveau fichier avec toutes les différences mises en évidence.

Dans ce tutoriel, vous apprendrez comment :

Comment configurer l’API de comparaison Excel

Pour comparer Excel XLSX files, nous utiliserons le GroupDocs.Comparison Cloud SDK for .NEt. Cela vous permet de comparer des tableurs, de suivre les modifications et d’enregistrer les résultats dans un seul classeur Excel.

Installer le SDK via NuGet :

Install-Package GroupDocs.Comparison-Cloud

Avant d’exécuter le code suivant, veuillez obtenir votre ID client et votre secret client depuis le cloud dashboard.

Comparer deux fichiers Excel utilisant C#

Vous pouvez comparer deux fichiers Excel en C# en suivant ces étapes :

  1. Upload the source and target Excel workbooks.
  2. Exécutez la comparaison en utilisant l’API GroupDocs.Comparison.
  3. Téléchargez le fichier résultant avec les modifications surlignées.

Téléchargez le classeur Excel

Afin d’effectuer l’opération de comparaison, tout d’abord, nous devons télécharger les fichiers XLSX source et cible vers le stockage cloud en utilisant l’exemple de code suivant :

var fileApi = new FileApi(configuration);

using (var source = File.OpenRead("source.xlsx"))
{
    fileApi.UploadFile(new UploadFileRequest("source.xlsx", source));
}

using (var target = File.OpenRead("target.xlsx"))
{
    fileApi.UploadFile(new UploadFileRequest("target.xlsx", target));
}

Comparer les classeurs Excel

Maintenant, utilisez le code suivant pour comparer deux classeurs Excel. Une fois exécuté, l’API génère un nouveau classeur Excel contenant les modifications surlignées entre les deux feuilles de calcul.

var options = new ComparisonOptions
{
    SourceFile = new FileInfo { FilePath = "source.xlsx" },
    TargetFiles = new List<FileInfo> { new FileInfo { FilePath = "target.xlsx" } },
    OutputPath = "result/comparison-result.xlsx"
};

var request = new ComparisonsRequest(options);
var response = compareApi.Comparisons(request);

Comparer plusieurs classeurs Excel en C#

L’API REST offre également la possibilité de comparer plusieurs classeurs Excel. Veuillez suivre les étapes spécifiées ci-dessous.

  • Tout d’abord, créez une instance de l’CompareApi.
  • Deuxièmement, téléchargez les classeurs Excel d’entrée dans le stockage cloud.
  • Maintenant, initialisez l’objet ComparisonOptions où nous définissons les classeurs Excel d’entrée et de résultat.
  • Puis, créez un objet de ComparisonsRequest où nous passons l’objet ComparisonOptions en tant qu’argument.
  • Enfin, comparez les classeurs Excel en utilisant Comparaisons() appel d’API.
var options = new ComparisonOptions
{
    SourceFile = new FileInfo { FilePath = "source.xlsx" },
    TargetFiles = new List<FileInfo>
    {
        new FileInfo { FilePath = "target1.xlsx" },
        new FileInfo { FilePath = "target2.xlsx" }
    },
    OutputPath = "result/multiple-comparison.xlsx"
};

var request = new ComparisonsRequest(options);
var response = compareApi.Comparisons(request);
Comment comparer des données dans Excel

Fichiers Excel source et cible.

Voici un aperçu du classeur résultant généré après la comparaison.

compare Excel Files in C#.

Un aperçu de la comparaison Excel utilisant l’API REST.

Obtenir la liste des changements en C#

L’API REST offre également la possibilité d’obtenir une liste de tous les changements et de comparer les données dans les feuilles de calcul Excel trouvées au cours du processus de comparaison.

  • Tout d’abord, créez une instance de l’CompareApi.
  • Next, set the input source XLSX file path.
  • Alors, définissez le chemin du fichier XLSX cible.
  • Ensuite, initialisez l’objet ComparisonOptions.
  • Ensuite, assignez les fichiers source/cible et définissez le chemin du fichier de sortie.
  • Après cela, créez le PostChangesRequest avec l’objet ComparisonOptions comme argument.
  • Enfin, obtenez des résultats en appelant la postChanges() méthode.
var options = new ComparisonOptions
{
    SourceFile = new FileInfo { FilePath = "source.xlsx" },
    TargetFiles = new List<FileInfo> { new FileInfo { FilePath = "target.xlsx" } },
    OutputPath = "result/changes-summary.xlsx"
};

var request = new PostChangesRequest(options);
var changes = compareApi.PostChanges(request);

foreach (var change in changes)
{
    Console.WriteLine($"{change.Type}: {change.Text}");
}

Essayez en ligne

Si vous souhaitez essayer les capacités de l’API directement dans un navigateur web, sans écrire une seule ligne de code, vous pouvez envisager d’utiliser notre outil de comparaison XLSX en ligne gratuit. Cet outil de comparaison Excel compare 2 feuilles de calcul Excel en ligne et renvoie les résultats.

comparer des fichiers Excel en ligne

Conclusion

Dans cet article, nous avons démontré comment comparer des classeurs Excel en C# .NET, mettre en évidence les différences entre les feuilles de calcul par programme, comparer plusieurs fichiers Excel à la fois et comment extraire une liste détaillée des modifications dans les fichiers Excel. Avec GroupDocs.Comparison Cloud SDK pour .NET, vous pouvez automatiser la comparaison de fichiers Excel pour améliorer la précision, gagner du temps et rationaliser les flux de travail de validation des données.

Liens utiles

Articles recommandés