Elektronik tablo sürümleri arasındaki değişiklikleri analiz etmek, finans, raporlama ve veri doğrulama iş akışları için rutin bir görevdir. GroupDocs.Comparison Cloud SDK for .NET .NET’te manuel inceleme yapmadan Excel dosyalarını karşılaştırmayı kolaylaştıran güçlü bir API sağlar. Bu rehberde kütüphaneyi nasıl kuracağınızı, çalışma kitaplarını nasıl yükleyeceğinizi, C#’tan REST uç noktasını nasıl çağıracağınızı, ayrıntılı değişiklik bilgilerini nasıl alacağınızı ve kesin sonuçlar için karşılaştırma seçeneklerini nasıl ince ayar yapacağınızı göreceksiniz.

Başlamadan Önce: Gereksinimler ve Kurulum

Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:

  • .NET 6.0 veya daha yeni bir sürüm yüklü.
  • Visual Studio 2022 gibi bir IDE.
  • ClientId ve ClientSecret içeren bir GroupDocs Cloud hesabı.
  • Excel dosyalarının yükleneceği GroupDocs Cloud depolama alanına erişim.

SDK’yı NuGet üzerinden yükleyin:

dotnet add package GroupDocs.Comparison-Cloud

En son paketi sürüm sayfası adresinden indirin. Kurulumdan sonra, kimlik bilgilerinizi daha sonra gösterildiği gibi koda ekleyin. Artık karşılaştırma iş akışına başlamaya hazırsınız.

.NET’te Excel Dosyalarını Karşılaştırma Adım Adım Kılavuzu

Aşağıdaki adımlar, SDK kullanarak .NET’te Excel dosyalarını nasıl karşılaştıracağınızı gösterir.

Adım 1: Kaynak ve Hedef Belgeleri Yükleyin

Kimlik bilgilerinizle bir yapılandırma nesnesi oluşturun ve CompareApi‘yi örnekleyin.

var config = new Configuration
{
    ClientId = "YOUR_CLIENT_ID",
    ClientSecret = "YOUR_CLIENT_SECRET"
};

var compareApi = new CompareApi(config);

Adım 2: Excel Çalışma Kitaplarını Hazırlayın

FileInfo nesnelerini tanımlayın; bu nesneler, GroupDocs Cloud depolamasında saklanan kaynak ve hedef XLSX dosyalarına işaret eder.

var sourceFile = new FileInfo { FilePath = "input/source.xlsx" };
var targetFile = new FileInfo { FilePath = "input/target.xlsx" };

Adım 3: Karşılaştırma Seçeneklerini ve Ayarları Belirleyin

Detaylı değişiklik ayarlarını içerecek şekilde CompareOptions nesnesini yapılandırın.

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
    }
};

Ayarların tam listesi için, API referansı adresine bakın.

Adım 4: Karşılaştırmayı Çalıştırın ve Sonuçları İşleyin

Compare yöntemini çağırın ve temel sonuç bilgilerini okuyun.

var compareResult = compareApi.Compare(compareOptions);
Console.WriteLine($"Comparison completed. Result file: {compareResult.Path}");
Console.WriteLine($"Number of changes detected: {compareResult.Changes?.Count ?? 0}");

Adım 5: Ayrıntılı Değişiklik Bilgilerini Al

Granüler bir rapora ihtiyacınız varsa, GetChanges isteğini kullanın.

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}");

Bu adımlarla .NET’te Excel dosyalarını karşılaştırma sürecini tamamen otomatikleştirdiniz.

Excel Dosyalarını Programlı Olarak Karşılaştırma - Tam Kod Örneği

Aşağıdaki kod, yapılandırmadan sonuç işleme kadar tam iş akışını gösterir.

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}");
            }
        }
    }
}

Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.

cURL ile REST üzerinden Excel Karşılaştırması Yapın

C# kodu yazmadan, REST API’yi doğrudan çağırarak aynı sonucu elde edebilirsiniz.

1. Kimlik Doğrulama ve Erişim Token’ı Al

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. Kaynak Çalışma Kitabını Yükleyin

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. Hedef Çalışma Kitabını Yükleyin

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. Karşılaştırmayı Çalıştır

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. Oluşturulan Diff Çalışma Kitabını İndir

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

Tam parametre listesi için, resmi API belgelerini inceleyin.

Sonuç

GroupDocs.Comparison Cloud SDK for .NET kullanarak .NET içinde Excel dosyalarını kolayca karşılaştırabilir ve her değişikliği vurgulayan ayrıntılı bir diff çalışma kitabı elde edebilirsiniz. SDK’nın REST‑tabanlı mimarisi, elektronik tablo karşılaştırmasını herhangi bir C# servisine, web API’sine veya arka plan işine minimum çaba ile entegre etmenizi sağlar. Üretim kullanımı için uygun bir lisans almayı unutmayın; geçici bir lisans lisans sayfasından temin edilebilir ve tam lisanslama detayları ürün sitesinde listelenmiştir. Excel diff iş akışlarınızı bugün otomatikleştirmeye başlayın ve manuel inceleme hatalarını ortadan kaldırın.

SSS

  • .NET’te çok fazla kod yazmadan Excel dosyalarını nasıl karşılaştırabilirim?
    SDK, ağır işleri soyutlar. Yalnızca kimlik bilgilerini yapılandırmanız, iki XLSX dosyasına işaret etmeniz ve compareApi.Compare metodunu çağırmanız gerekir. Kütüphane bir diff dosyası ve değişiklik nesnelerinin bir listesini döndürür.

  • Diff sonucunun kullandığı format nedir?
    Varsayılan olarak sonuç, orijinal düzeni koruyarak silme, ekleme ve stil değişiklikleri için görsel işaretler uygulayan bir XLSX çalışma kitabı olarak kaydedilir.

  • Korunan Excel çalışma kitaplarını karşılaştırmak mümkün mü?
    Evet. Parolayı FileInfo nesnesinin Password özelliğinde sağlayın. API, karşılaştırmayı gerçekleştirmeden önce çalışma kitabının kilidini açacaktır.

  • Geliştirme ve test için bir lisansa ihtiyacım var mı?
    Geçici bir lisans, lisans sayfasından elde edilebilir. Üretim dağıtımları için ürün sayfasında açıklandığı gibi tam bir lisans satın almanız gerekir.

Daha Fazla Oku