Menganalisis perubahan antara versi spreadsheet adalah tugas rutin untuk keuangan, pelaporan, dan alur kerja validasi data. GroupDocs.Comparison Cloud SDK for .NET menyediakan API yang kuat yang memudahkan untuk membandingkan file Excel di .NET tanpa inspeksi manual. Dalam panduan ini Anda akan melihat cara menyiapkan pustaka, mengunggah workbook, memanggil endpoint REST dari C#, mengambil informasi perubahan yang detail, dan menyesuaikan opsi perbandingan untuk hasil yang tepat.
Sebelum Anda Memulai: Prasyarat dan Instalasi
Sebelum Anda memulai, pastikan Anda memiliki hal berikut:
- .NET 6.0 atau yang lebih baru terpasang.
- Sebuah IDE seperti Visual Studio 2022.
- Akun GroupDocs Cloud dengan ClientId dan ClientSecret.
- Akses ke penyimpanan GroupDocs Cloud tempat file Excel akan diunggah.
Instal SDK melalui NuGet:
dotnet add package GroupDocs.Comparison-Cloud
Unduh paket terbaru dari halaman rilis. Setelah instalasi, tambahkan kredensial Anda dalam kode seperti yang ditunjukkan nanti. Anda sekarang siap memulai alur kerja perbandingan.
Panduan Langkah-demi-Langkah Membandingkan File Excel di .NET
Langkah-langkah berikut menggambarkan cara membandingkan file Excel di .NET menggunakan SDK.
Langkah 1: Muat Dokumen Sumber dan Target
Buat objek konfigurasi dengan kredensial Anda dan buat instance CompareApi.
var config = new Configuration
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
};
var compareApi = new CompareApi(config);
Langkah 2: Siapkan Buku Kerja Excel
Definisikan objek FileInfo yang menunjuk ke file sumber dan target XLSX yang disimpan di penyimpanan GroupDocs Cloud.
var sourceFile = new FileInfo { FilePath = "input/source.xlsx" };
var targetFile = new FileInfo { FilePath = "input/target.xlsx" };
Langkah 3: Atur Opsi dan Pengaturan Perbandingan
Konfigurasikan objek CompareOptions, termasuk pengaturan perubahan yang terperinci.
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
}
};
Untuk daftar lengkap pengaturan, lihat referensi API.
Langkah 4: Jalankan Perbandingan dan Proses Hasil
Panggil metode Compare dan baca informasi hasil dasar.
var compareResult = compareApi.Compare(compareOptions);
Console.WriteLine($"Comparison completed. Result file: {compareResult.Path}");
Console.WriteLine($"Number of changes detected: {compareResult.Changes?.Count ?? 0}");
Langkah 5: Mengambil Informasi Perubahan Rinci
Jika Anda memerlukan laporan yang terperinci, gunakan permintaan GetChanges.
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}");
Dengan langkah‑langkah ini, Anda telah sepenuhnya mengotomatiskan proses membandingkan file Excel di .NET.
Membandingkan File Excel Secara Programatik - Contoh Kode Lengkap
Kode berikut menunjukkan alur kerja lengkap mulai dari konfigurasi hingga penanganan hasil.
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}");
}
}
}
}
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui semua jalur file dan nilai konfigurasi agar sesuai dengan lingkungan Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.
Lakukan Perbandingan Excel via REST dengan cURL
Anda dapat mencapai hasil yang sama tanpa menulis kode C# dengan memanggil REST API secara langsung.
1. Otentikasi dan Dapatkan Token Akses
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. Unggah Buku Kerja Sumber
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. Unggah Workbook Target
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. Jalankan Perbandingan
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. Unduh Workbook Diff yang Dihasilkan
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
Untuk daftar lengkap parameter, lihat dokumentasi API resmi.
Kesimpulan
Dengan menggunakan GroupDocs.Comparison Cloud SDK for .NET, Anda dapat dengan mudah membandingkan file Excel di .NET dan memperoleh workbook diff terperinci yang menyoroti setiap modifikasi. Arsitektur berbasis REST SDK memungkinkan Anda mengintegrasikan perbandingan spreadsheet ke dalam layanan C#, web API, atau pekerjaan latar belakang apa pun dengan upaya minimal. Ingatlah untuk memperoleh lisensi yang tepat untuk penggunaan produksi; lisensi sementara tersedia di halaman lisensi dan detail lisensi lengkap tercantum di situs produk. Mulailah mengotomatisasi alur kerja diff Excel Anda hari ini dan hilangkan kesalahan inspeksi manual.
FAQs
Bagaimana saya dapat membandingkan file Excel di .NET tanpa menulis banyak kode?
SDK mengabstraksi pekerjaan berat. Anda hanya perlu mengonfigurasi kredensial, menunjuk ke dua file XLSX, dan memanggilcompareApi.Compare. Perpustakaan mengembalikan file diff dan daftar objek perubahan.Format apa yang digunakan oleh hasil diff?
Secara default, hasil disimpan sebagai workbook XLSX, mempertahankan tata letak asli sambil menerapkan penanda visual untuk penghapusan, penyisipan, dan perubahan gaya.Apakah memungkinkan membandingkan workbook Excel yang dilindungi?
Ya. Berikan kata sandi pada propertiPasswordobjekFileInfo. API akan membuka kunci workbook sebelum melakukan perbandingan.Apakah saya memerlukan lisensi untuk pengembangan dan pengujian?
Lisensi sementara dapat diperoleh dari halaman lisensi. Untuk penyebaran produksi, Anda harus membeli lisensi penuh seperti yang dijelaskan di halaman produk.
