การวิเคราะห์การเปลี่ยนแปลงระหว่างเวอร์ชันของสเปรดชีตเป็นงานประจำสำหรับกระบวนการทางการเงิน รายงาน และการตรวจสอบข้อมูล GroupDocs.Comparison Cloud SDK for .NET ให้ API ที่ทรงพลังซึ่งทำให้การเปรียบเทียบไฟล์ Excel ใน .NET เป็นเรื่องง่ายโดยไม่ต้องตรวจสอบด้วยตนเอง ในคู่มือนี้คุณจะได้เห็นวิธีตั้งค่าห้องสมุด การอัปโหลดเวิร์กบุ๊ก การเรียกใช้ REST endpoint จาก C# การดึงข้อมูลการเปลี่ยนแปลงอย่างละเอียด และการปรับแต่งตัวเลือกการเปรียบเทียบเพื่อผลลัพธ์ที่แม่นยำ
ก่อนเริ่มต้น: ข้อกำหนดและการติดตั้ง
ก่อนที่คุณจะเริ่ม, ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- .NET 6.0 หรือใหม่กว่า ติดตั้งแล้ว.
- IDE เช่น Visual Studio 2022.
- บัญชี GroupDocs Cloud ที่มี ClientId และ ClientSecret.
- เข้าถึงที่เก็บข้อมูล GroupDocs Cloud ที่ไฟล์ Excel จะถูกอัปโหลด.
ติดตั้ง SDK ผ่าน NuGet:
dotnet add package GroupDocs.Comparison-Cloud
ดาวน์โหลดแพ็กเกจล่าสุดจาก หน้ารีลีส. หลังจากการติดตั้ง ให้เพิ่มข้อมูลประจำตัวของคุณในโค้ดตามที่แสดงต่อไปนี้ คุณพร้อมแล้วที่จะเริ่มกระบวนการเปรียบเทียบ
คู่มือขั้นตอนการเปรียบเทียบไฟล์ Excel ใน .NET
ขั้นตอนต่อไปนี้แสดงวิธีเปรียบเทียบไฟล์ Excel ใน .NET ด้วย SDK.
ขั้นตอนที่ 1: โหลดเอกสารต้นฉบับและเอกสารเป้าหมาย
สร้างอ็อบเจกต์การกำหนดค่าโดยใช้ข้อมูลประจำตัวของคุณและสร้างอินสแตนซ์ของ CompareApi
var config = new Configuration
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
};
var compareApi = new CompareApi(config);
ขั้นตอนที่ 2: เตรียมเวิร์กบุ๊ก Excel
กำหนดอ็อบเจ็กต์ FileInfo ที่ชี้ไปยังไฟล์ XLSX แหล่งต้นทางและปลายทางที่จัดเก็บในที่เก็บข้อมูลของ GroupDocs Cloud.
var sourceFile = new FileInfo { FilePath = "input/source.xlsx" };
var targetFile = new FileInfo { FilePath = "input/target.xlsx" };
ขั้นตอนที่ 3: ตั้งค่าตัวเลือกและการตั้งค่าการเปรียบเทียบ
กำหนดค่าวัตถุ CompareOptions รวมถึงการตั้งค่าการเปลี่ยนแปลงโดยละเอียด.
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
}
};
สำหรับรายการการตั้งค่าครบถ้วนทั้งหมด โปรดดูที่ อ้างอิง API.
ขั้นตอนที่ 4: ดำเนินการเปรียบเทียบและประมวลผลผลลัพธ์
เรียกเมธอด Compare และอ่านข้อมูลผลลัพธ์พื้นฐาน.
var compareResult = compareApi.Compare(compareOptions);
Console.WriteLine($"Comparison completed. Result file: {compareResult.Path}");
Console.WriteLine($"Number of changes detected: {compareResult.Changes?.Count ?? 0}");
ขั้นตอนที่ 5: ดึงข้อมูลการเปลี่ยนแปลงโดยละเอียด
หากคุณต้องการรายงานแบบละเอียด ให้ใช้คำขอ 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}");
ด้วยขั้นตอนเหล่านี้ คุณได้ทำให้กระบวนการเปรียบเทียบไฟล์ Excel ใน .NET เป็นอัตโนมัติอย่างสมบูรณ์.
เปรียบเทียบไฟล์ Excel ด้วยโปรแกรม - ตัวอย่างโค้ดเต็ม
โค้ดต่อไปนี้แสดงกระบวนการทำงานทั้งหมดตั้งแต่การกำหนดค่าไปจนถึงการจัดการผลลัพธ์
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}");
}
}
}
}
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบว่าได้อัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ
ทำการเปรียบเทียบ Excel ผ่าน REST ด้วย cURL
คุณสามารถบรรลุผลลัพธ์เดียวกันโดยไม่ต้องเขียนโค้ด C# โดยเรียกใช้ REST API โดยตรง.
1. ยืนยันตัวตนและรับโทเค็นการเข้าถึง
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. อัปโหลดเวิร์กบุ๊กต้นฉบับ
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. อัปโหลดเวิร์กบุ๊กเป้าหมาย
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. ดำเนินการเปรียบเทียบ
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. ดาวน์โหลดเวิร์กบุ๊ก Diff ที่ได้ผล
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
สำหรับรายการพารามิเตอร์ทั้งหมด ดูที่ เอกสาร API อย่างเป็นทางการ.
สรุป
โดยใช้ GroupDocs.Comparison Cloud SDK for .NET คุณสามารถเปรียบเทียบไฟล์ Excel ใน .NET ได้อย่างง่ายดายและรับเวิร์กบุ๊ก diff รายละเอียดที่ไฮไลท์การแก้ไขทุกอย่าง สถาปัตยกรรมแบบ REST‑based ของ SDK ช่วยให้คุณรวมการเปรียบเทียบสเปรดชีตเข้าไปในบริการ C# ใด ๆ, เว็บ API, หรืองานเบื้องหลังด้วยความพยายามน้อยที่สุด จำไว้ว่าต้องได้รับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์; ใบอนุญาตชั่วคราวมีให้ที่ license page และรายละเอียดการให้ใบอนุญาตเต็มรูปแบบถูกระบุในเว็บไซต์ของผลิตภัณฑ์ เริ่มต้นอัตโนมัติการทำงาน diff ของ Excel ของคุณวันนี้และขจัดข้อผิดพลาดจากการตรวจสอบด้วยตนเอง.
FAQs
ฉันจะเปรียบเทียบไฟล์ Excel ใน .NET ได้อย่างไรโดยไม่ต้องเขียนโค้ดมาก?
SDK จะจัดการงานที่ซับซ้อนให้ คุณเพียงแค่ต้องกำหนดข้อมูลประจำตัว, ชี้ไปที่ไฟล์ XLSX สองไฟล์, และเรียกcompareApi.Compare. ไลบรารีจะคืนไฟล์ diff และรายการอ็อบเจกต์การเปลี่ยนแปลง.ผลลัพธ์ diff ใช้รูปแบบอะไร?
โดยค่าเริ่มต้นผลลัพธ์จะถูกบันทึกเป็นไฟล์งาน XLSX โดยคงรูปแบบต้นฉบับไว้พร้อมกับแสดงเครื่องหมายภาพสำหรับการลบ การแทรก และการเปลี่ยนแปลงสไตล์สามารถเปรียบเทียบเวิร์กบุ๊ก Excel ที่ถูกป้องกันได้หรือไม่?
ใช่. ให้ระบุรหัสผ่านในคุณสมบัติPasswordของอ็อบเจ็กต์FileInfo. API จะปลดล็อกเวิร์กบุ๊กก่อนทำการเปรียบเทียบ.ฉันต้องการใบอนุญาตสำหรับการพัฒนาและการทดสอบหรือไม่?
คุณสามารถรับใบอนุญาตชั่วคราวได้จาก หน้าใบอนุญาต. สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณต้องซื้อใบอนุญาตเต็มตามที่อธิบายในหน้าผลิตภัณฑ์.
