Das Analysieren von Änderungen zwischen Tabellenkalkulationsversionen ist eine Routineaufgabe für Finanz‑, Reporting‑ und Datenvalidierungs‑Workflows. GroupDocs.Comparison Cloud SDK for .NET bietet eine leistungsstarke API, die das Vergleichen von Excel‑Dateien in .NET ohne manuelle Inspektion erleichtert. In diesem Leitfaden sehen Sie, wie Sie die Bibliothek einrichten, Arbeitsmappen hochladen, den REST‑Endpunkt aus C# aufrufen, detaillierte Änderungsinformationen abrufen und die Vergleichsoptionen für präzise Ergebnisse feinabstimmen.
Vor dem Start: Voraussetzungen und Installation
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- .NET 6.0 oder neuer installiert.
- Eine IDE wie Visual Studio 2022.
- Ein GroupDocs Cloud‑Konto mit ClientId und ClientSecret.
- Zugriff auf den GroupDocs Cloud‑Speicher, in den die Excel‑Dateien hochgeladen werden.
Installieren Sie das SDK über NuGet:
dotnet add package GroupDocs.Comparison-Cloud
Laden Sie das neueste Paket von der Release‑Seite herunter. Nach der Installation fügen Sie Ihre Anmeldeinformationen im Code wie später gezeigt hinzu. Sie sind jetzt bereit, den Vergleichs‑Workflow zu starten.
Schritt-für-Schritt-Anleitung zum Vergleichen von Excel-Dateien in .NET
Die folgenden Schritte zeigen, wie man Excel‑Dateien in .NET mit dem SDK vergleicht.
Schritt 1: Laden Sie die Quell- und Ziel‑Dokumente
Erstellen Sie ein Konfigurationsobjekt mit Ihren Anmeldeinformationen und instanziieren Sie die CompareApi.
var config = new Configuration
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
};
var compareApi = new CompareApi(config);
Schritt 2: Excel-Arbeitsmappen vorbereiten
Definieren Sie FileInfo‑Objekte, die auf die Quell‑ und Ziel‑XLSX-Dateien verweisen, die im GroupDocs Cloud‑Speicher gespeichert sind.
var sourceFile = new FileInfo { FilePath = "input/source.xlsx" };
var targetFile = new FileInfo { FilePath = "input/target.xlsx" };
Schritt 3: Vergleichsoptionen und -einstellungen festlegen
Konfigurieren Sie das CompareOptions-Objekt, einschließlich detaillierter Änderungseinstellungen.
var compareOptions = new CompareOptions
{
SourceFile = sourceFile,
TargetFiles = new List<FileInfo> { targetFile },
OutputPath = "output/diff_result.xlsx",
Settings = new Settings
{
ShowDeletedContent = true,
ShowInsertedContent = true,
ShowStyleChanges = true,
GenerateSummaryPage = true
}
};
Für eine vollständige Liste der Einstellungen siehe die API-Referenz.
Schritt 4: Vergleich ausführen und Ergebnisse verarbeiten
Rufen Sie die Compare‑Methode auf und lesen Sie die grundlegenden Ergebnisinformationen.
var compareResult = compareApi.Compare(compareOptions);
Console.WriteLine($"Comparison completed. Result file: {compareResult.Path}");
Console.WriteLine($"Number of changes detected: {compareResult.Changes?.Count ?? 0}");
Schritt 5: Detaillierte Änderungsinformationen abrufen
Wenn Sie einen detaillierten Bericht benötigen, verwenden Sie die GetChanges‑Anfrage.
var changesRequest = new GetChangesRequest
{
SourceFile = sourceFile,
TargetFile = targetFile,
OutputPath = "output/detailed_changes.json"
};
var detailedChanges = compareApi.GetChanges(changesRequest);
Console.WriteLine($"Detailed changes saved to: {detailedChanges.Path}");
Mit diesen Schritten haben Sie den Vorgang des Vergleichs von Excel-Dateien in .NET vollständig automatisiert.
Vergleich von Excel-Dateien programmgesteuert – Vollständiges Codebeispiel
Der folgende Code demonstriert den vollständigen Workflow von der Konfiguration bis zur Ergebnisverarbeitung.
using System;
using System.Collections.Generic;
using GroupDocs.Comparison.Cloud.Sdk.Api;
using GroupDocs.Comparison.Cloud.Sdk.Client;
using GroupDocs.Comparison.Cloud.Sdk.Model;
namespace CompareExcelDemo
{
class Program
{
static void Main(string[] args)
{
// Set up API credentials (replace with your actual credentials)
var config = new Configuration
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
};
// Initialize Compare API
var compareApi = new CompareApi(config);
// Prepare source and target Excel files (must be uploaded to GroupDocs Cloud storage beforehand)
var sourceFile = new FileInfo { FilePath = "input/source.xlsx" };
var targetFile = new FileInfo { FilePath = "input/target.xlsx" };
// Define comparison options
var compareOptions = new CompareOptions
{
SourceFile = sourceFile,
TargetFiles = new List<FileInfo> { targetFile },
OutputPath = "output/diff_result.xlsx",
// Optional: specify that we want detailed changes for worksheets
Settings = new Settings
{
ShowDeletedContent = true,
ShowInsertedContent = true,
ShowStyleChanges = true,
GenerateSummaryPage = true
}
};
try
{
// Call the Compare API
var compareResult = compareApi.Compare(compareOptions);
// Output basic result information
Console.WriteLine($"Comparison completed. Result file: {compareResult.Path}");
Console.WriteLine($"Number of changes detected: {compareResult.Changes?.Count ?? 0}");
// Iterate through change details
if (compareResult.Changes != null)
{
foreach (var change in compareResult.Changes)
{
Console.WriteLine("--------------------------------------------------");
Console.WriteLine($"Change Type : {change.ChangeType}");
Console.WriteLine($"Worksheet : {change.Worksheet}");
Console.WriteLine($"Cell Address : {change.CellAddress}");
Console.WriteLine($"Old Value : {change.OldValue}");
Console.WriteLine($"New Value : {change.NewValue}");
Console.WriteLine($"Is New Row : {change.IsNewRow}");
Console.WriteLine($"Is New Column : {change.IsNewColumn}");
}
}
// Retrieve detailed changes via GetChanges (optional)
var changesRequest = new GetChangesRequest
{
SourceFile = sourceFile,
TargetFile = targetFile,
OutputPath = "output/detailed_changes.json"
};
var detailedChanges = compareApi.GetChanges(changesRequest);
Console.WriteLine($"Detailed changes saved to: {detailedChanges.Path}");
}
catch (ApiException apiEx)
{
Console.WriteLine($"API error: {apiEx.ErrorCode} - {apiEx.Message}");
}
catch (Exception ex)
{
Console.WriteLine($"Unexpected error: {ex.Message}");
}
}
}
}
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
Excel-Vergleich über REST mit cURL durchführen
Sie können dasselbe Ergebnis erzielen, ohne C#-Code zu schreiben, indem Sie die REST‑API direkt aufrufen.
1. Authentifizieren und Zugriffstoken erhalten
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
2. Laden Sie die Quell-Arbeitsmappe hoch
curl -X PUT "https://api.groupdocs.cloud/v1.0/storage/file?path=input/source.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "./source.xlsx"
3. Laden Sie die Zielarbeitsmappe hoch
curl -X PUT "https://api.groupdocs.cloud/v1.0/storage/file?path=input/target.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "./target.xlsx"
4. Vergleich ausführen
curl -X POST "https://api.groupdocs.cloud/v1.0/comparison/compare" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_file": {"file_path":"input/source.xlsx"},
"target_files": [{"file_path":"input/target.xlsx"}],
"output_path":"output/diff_result.xlsx",
"settings": {
"show_deleted_content": true,
"show_inserted_content": true,
"show_style_changes": true,
"generate_summary_page": true
}
}'
5. Laden Sie die resultierende Diff-Arbeitsmappe herunter
curl -X GET "https://api.groupdocs.cloud/v1.0/storage/file?path=output/diff_result.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o diff_result.xlsx
Für eine vollständige Liste der Parameter siehe die offizielle API-Dokumentation.
Fazit
Mit dem GroupDocs.Comparison Cloud SDK for .NET können Sie Excel-Dateien in .NET einfach vergleichen und ein detailliertes Diff‑Arbeitsbuch erhalten, das jede Änderung hervorhebt. Die REST‑basierte Architektur des SDK ermöglicht die Integration des Tabellenvergleichs in jeden C#‑Dienst, Web‑API oder Hintergrundjob mit minimalem Aufwand. Denken Sie daran, für den Produktionseinsatz eine gültige Lizenz zu erwerben; eine temporäre Lizenz ist auf der Lizenzseite verfügbar und vollständige Lizenzinformationen finden Sie auf der Produktseite. Beginnen Sie noch heute damit, Ihre Excel‑Diff‑Workflows zu automatisieren und manuelle Prüfungsfehler zu eliminieren.
FAQs
Wie kann ich Excel-Dateien in .NET vergleichen, ohne viel Code zu schreiben?
Das SDK übernimmt die schwere Arbeit. Sie müssen nur die Anmeldeinformationen konfigurieren, auf die beiden XLSX-Dateien verweisen undcompareApi.Compareaufrufen. Die Bibliothek gibt eine Diff-Datei und eine Liste von Änderungsobjekten zurück.Welches Format verwendet das Diff‑Ergebnis?
Standardmäßig wird das Ergebnis als XLSX‑Arbeitsmappe gespeichert, wobei das ursprüngliche Layout beibehalten und visuelle Markierungen für Löschungen, Einfügungen und Stiländerungen angewendet werden.Ist es möglich, geschützte Excel-Arbeitsmappen zu vergleichen?
Ja. Geben Sie das Passwort in derFileInfo-Objekt‑Password‑Eigenschaft an. Die API entsperrt die Arbeitsmappe, bevor der Vergleich durchgeführt wird.Benötige ich eine Lizenz für Entwicklung und Tests?
Eine temporäre Lizenz kann von der Lizenzseite erhalten werden. Für Produktionsbereitstellungen müssen Sie eine Voll‑Lizenz erwerben, wie auf der Produktseite beschrieben.
