Excel เป็นหนึ่งในแอปพลิเคชันที่ใช้กันอย่างแพร่หลายที่สุดสำหรับการวิเคราะห์ข้อมูล, รายงาน, และการจัดการทางการเงิน บ่อยครั้ง, คุณจำเป็นต้องเปรียบเทียบสมุดงาน Excel สองเล่มหรือมากกว่าที่จะระบุการเปลี่ยนแปลง, ตรวจสอบการอัปเดต, หรือติดตามการแก้ไข การทำเช่นนี้ด้วยตนเองอาจใช้เวลานานและมีข้อผิดพลาดได้ โชคดีที่ด้วย GroupDocs.Comparison Cloud SDK สำหรับ .NET, คุณสามารถเปรียบเทียบสมุดงาน Excel แบบโปรแกรมได้ใน C# และสร้างไฟล์ใหม่ที่มีการเปลี่ยนแปลงทั้งหมดเน้นแสดงออกมา
ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีการ:
- วิธีตั้งค่า Excel Comparison API
- เปรียบเทียบไฟล์ Excel สองไฟล์โดยใช้ C#
- เปรียบเทียบหลายไฟล์ Excel ใน C#
- รับรายชื่อการเปลี่ยนแปลงใน C#
วิธีการตั้งค่า API การเปรียบเทียบ Excel
เพื่อเปรียบเทียบ Excel XLSX files เราจะใช้ GroupDocs.Comparison Cloud SDK for .NEt ซึ่งช่วยให้คุณเปรียบเทียบแผ่นงาน ติดตามการเปลี่ยนแปลง และบันทึกผลลัพธ์ในสมุดงาน Excel เดียว
ติดตั้ง SDK ผ่าน NuGet:
Install-Package GroupDocs.Comparison-Cloud
ก่อนที่จะเรียกใช้โค้ดส่วนนี้ กรุณาเอา Client ID และ Client Secret จาก cloud dashboard.
เปรียบเทียบไฟล์ Excel สองไฟล์โดยใช้ C#
คุณสามารถเปรียบเทียบไฟล์ Excel สองไฟล์ใน C# ได้โดยทำตามขั้นตอนเหล่านี้:
- อัปโหลดไฟล์งาน Excel แหล่งที่มาและเป้าหมาย
- เปรียบเทียบโดยใช้ GroupDocs.Comparison API.
- ดาวน์โหลดไฟล์ที่ได้พร้อมการเปลี่ยนแปลงที่เน้นสี
อัปโหลด Excel Workbook
ในการทำการเปรียบเทียบ เราต้องอัปโหลดไฟล์ XLSX แหล่งที่มาและเป้าหมายไปยังพื้นที่เก็บข้อมูลคลาวด์ก่อน โดยใช้ตัวอย่างโค้ดดังต่อไปนี้:
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));
}
เปรียบเทียบ Excel Workbooks
ตอนนี้ให้ใช้รหัสต่อไปนี้เพื่อเปรียบเทียบสองไฟล์ Excel เมื่อถูกดำเนินการ API จะสร้างไฟล์ Excel ใหม่ที่มีการเปลี่ยนแปลงที่ถูกเน้นระหว่างสองสเปรดชีต
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);
เปรียบเทียบสมุดงาน Excel หลายไฟล์ใน C#
REST API ยังมีความสามารถในการเปรียบเทียบเอกสาร Excel หลายฉบับ โปรดทำตามขั้นตอนที่ระบุไว้ด้านล่างนี้
- ก่อนอื่น ให้สร้างอินสแตนซ์ของ CompareApi.
- 其次,将输入 Excel 工作簿上传到云存储。
- ตอนนี้ ให้เริ่มต้นวัตถุ ComparisonOptions ที่เรากำหนดไฟล์ Excel ขาเข้าและผลลัพธ์
- จากนั้น สร้างอ็อบเจ็กต์ของ ComparisonsRequest โดยที่เราส่งอ็อบเจ็กต์ ComparisonOptions เป็นอาร์กิวเมนต์
- ในที่สุด เปรียบเทียบเวิร์กบุ๊กของ Excel โดยใช้ Comparisons() การเรียก 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);

Source and target Excel files.
ด้านล่างนี้คือการแสดงตัวอย่างของสมุดงานผลลัพธ์ที่สร้างขึ้นหลังจากการเปรียบเทียบเสร็จสิ้นแล้ว

การแสดงตัวอย่างการเปรียบเทียบ Excel โดยใช้ REST API.
รับรายการการเปลี่ยนแปลงใน C#
API REST ยังมีความสามารถในการดึงรายชื่อการเปลี่ยนแปลงทั้งหมดและเปรียบเทียบข้อมูลในแผ่นงาน Excel ที่พบระหว่างกระบวนการเปรียบเทียบ
- ก่อนอื่น ให้สร้างอินสแตนซ์ของ CompareApi.
- ถัดไป ตั้งค่าเส้นทางไฟล์ต้นทาง XLSX.
- จากนั้น กำหนดเส้นทางไฟล์ XLSX เป้าหมาย。
- ถัดไป, ให้เริ่มต้นอ็อบเจ็กต์ ComparisonOptions.
- จากนั้น กำหนดไฟล์ต้นทาง/เป้าหมาย และตั้งค่าตำแหน่งไฟล์ส่งออก
- หลังจากนั้น สร้าง PostChangesRequest พร้อมกับอ็อบเจ็กต์ ComparisonOptions เป็นอาร์กิวเมนต์
- สุดท้าย ให้รับผลลัพธ์โดยการเรียกใช้เมธอด postChanges()
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}");
}
ลองใช้งานออนไลน์
หากคุณต้องการลองความสามารถของ API โดยตรงภายในเว็บเบราว์เซอร์ โดยไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว คุณอาจพิจารณาใช้เครื่องมือ Online XLSX comparison tool ฟรีของเรา เครื่องมือนี้เปรียบเทียบแผ่นงาน Excel 2 แผ่นทางออนไลน์และส่งคืนผลลัพธ์

ข้อสรุป
ในบทความนี้ เราได้สาธิตวิธีการเปรียบเทียบสมุดงาน Excel ใน C# .NET เน้นความแตกต่างระหว่างสเปรดชีตทางโปรแกรม เปรียบเทียบไฟล์ Excel หลายไฟล์พร้อมกันและวิธีการดึงรายการการเปลี่ยนแปลงอย่างละเอียดในไฟล์ Excel ด้วย GroupDocs.Comparison Cloud SDK สำหรับ .NET คุณสามารถทำให้การเปรียบเทียบไฟล์ Excel เป็นอัตโนมัติเพื่อปรับปรุงความถูกต้อง ประหยัดเวลา และทำให้กระบวนการตรวจสอบข้อมูลมีความเรียบง่ายมากขึ้น