เปรียบเทียบไฟล์ CSV โดยใช้ C# .NET

เมื่อเร็วๆ นี้ เราได้กล่าวถึง วิธีพื้นฐานในการเปรียบเทียบไฟล์ CSV สองไฟล์ ภายในแอปพลิเคชัน .NET ของเรา วันนี้ ในบทความนี้ เราจะเรียนรู้เพิ่มเติมเกี่ยวกับการเปรียบเทียบ CSV มากกว่าสองรายการโดยใช้ C# นอกจากนี้ เราจะพูดถึงวิธีเปรียบเทียบไฟล์ CSV ที่ป้องกันด้วยรหัสผ่าน สุดท้าย แต่ไม่ท้ายสุด วิธียอมรับและปฏิเสธการเปลี่ยนแปลงที่พบโดยใช้ C# ภายในแอปพลิเคชัน .NET

หัวข้อต่อไปนี้ครอบคลุมด้านล่าง:

.NET API สำหรับการเปรียบเทียบไฟล์ CSV

GroupDocs.Comparison มี .NET API ที่อนุญาตให้เปรียบเทียบไฟล์ CSV ได้หลายวิธี เราจะใช้เพื่อเปรียบเทียบไฟล์ CSV ภายในแอปพลิเคชัน .NET นอกจากนี้ยังรองรับการเปรียบเทียบไฟล์ CSV มากกว่าสองไฟล์ ไฟล์ที่ป้องกันด้วยรหัสผ่าน การยอมรับและปฏิเสธการเปลี่ยนแปลงที่ค้นพบ

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API โดยเพิ่มแพ็คเกจลงในแอปพลิเคชัน .NET ของคุณผ่าน NuGet

PM> Install-Package GroupDocs.Comparison

ตัวอย่างการเรียกใช้คุณลักษณะต่างๆ มีให้ที่ GitHub ไปที่ documentation และ API Reference เพื่อขอคำแนะนำ

เปรียบเทียบไฟล์ CSV โดยใช้ C#

เราได้พูดถึงการเปรียบเทียบพื้นฐานของไฟล์ CSV สองไฟล์ก่อนหน้านี้แล้ว ที่นั่น เราตรวจสอบไฟล์เปรียบเทียบซอร์สโค้ด C# ไฟล์อินพุตตัวอย่างสำหรับการเปรียบเทียบ และไฟล์ผลลัพธ์การเปรียบเทียบ คุณสามารถเยี่ยมชมบทความนั้นเพื่อเปรียบเทียบเบื้องต้นได้

เปรียบเทียบไฟล์ CSV มากกว่าสองไฟล์โดยใช้ C#

หากคุณมีไฟล์ CSV มากกว่าสองไฟล์ที่จะเปรียบเทียบ ก็ไม่มีอะไรต้องกังวล ทำได้ง่ายเพียงแค่เปรียบเทียบไฟล์สองไฟล์ คุณเพียงแค่ต้องเพิ่มไฟล์ที่สามไปยังตัวเปรียบเทียบ

ต่อไปนี้เป็นขั้นตอนในการเปรียบเทียบไฟล์ CSV มากกว่าสองไฟล์โดยใช้ C#

  • สร้างอินสแตนซ์ของคลาส Comparer ด้วยไฟล์ CSV ไฟล์แรกที่จะเปรียบเทียบ
  • เพิ่มไฟล์ CSV ไฟล์ที่สองโดยใช้วิธีการเพิ่มที่เหมาะสม
  • ในทำนองเดียวกัน เพิ่มไฟล์ CSV อื่น ๆ ได้มากเท่า ๆ กันโดยใช้วิธีการเพิ่ม
  • สุดท้าย เรียกใช้วิธีการเปรียบเทียบเพื่อรับผลการเปรียบเทียบของไฟล์ CSV ที่เพิ่มทั้งหมด

ซอร์สโค้ด C# ต่อไปนี้เปรียบเทียบไฟล์ CSV หลายไฟล์ และสร้างผลการเปรียบเทียบในไฟล์ CSV และ HTML แยกกัน ไฟล์เอาต์พุต HTML เน้นการเปลี่ยนแปลงในสีต่างๆ

// เปรียบเทียบไฟล์ CSV หลายไฟล์ (มากกว่า 2) ไฟล์โดยใช้ C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    // การเพิ่มไฟล์ CSV หลายไฟล์เพื่อเปรียบเทียบ
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Add("path/comma-separated-file-3.csv");
    // ...
    // ...
    comparer.Compare("path/comparison-result.csv");
}

เปรียบเทียบไฟล์ CSV ที่ป้องกันด้วยรหัสผ่านโดยใช้ C#

หากไฟล์ CSV ของคุณมีการป้องกันด้วยรหัสผ่าน คุณเพียงแค่ระบุรหัสผ่านขณะโหลดไฟล์เหล่านี้ ไม่มีความแตกต่างในขั้นตอนที่เหลือสำหรับการเปรียบเทียบไฟล์ CSV ที่ป้องกันด้วยรหัสผ่านหลายไฟล์

ต่อไปนี้เป็นขั้นตอนในการเปรียบเทียบไฟล์ CSV ที่ป้องกันด้วยรหัสผ่านโดยใช้ C#

  • เตรียมตัวเลือกการโหลดโดยใช้คลาส LoadOptions และตั้งรหัสผ่านเพื่อเปิดไฟล์ CSV
  • โหลดไฟล์ CSV ไฟล์แรกเพื่อเปรียบเทียบในขณะที่สร้างอินสแตนซ์ของคลาส Comparer
  • เพิ่มไฟล์ CSV ไฟล์ที่สองโดยใช้วิธีการเพิ่มที่เหมาะสม
  • ในทำนองเดียวกัน เพิ่มไฟล์ CSV อื่นๆ ได้มากเท่าๆ กันโดยใช้วิธีการเพิ่มใดๆ
  • สุดท้าย เรียกใช้วิธีการเปรียบเทียบเพื่อรับการเปรียบเทียบไฟล์ CSV ที่เพิ่มทั้งหมด

ซอร์สโค้ด C# ต่อไปนี้เปรียบเทียบไฟล์ CSV ที่มีการป้องกันด้วยรหัสผ่านหลายไฟล์ และสร้างผลการเปรียบเทียบในไฟล์ CSV และ HTML แยกกัน

// เปรียบเทียบไฟล์ CSV ที่ป้องกันด้วยรหัสผ่าน (ค่าที่คั่นด้วยเครื่องหมายจุลภาค) โดยใช้ C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv", new LoadOptions(){ Password = "file1-password" }))
{
    comparer.Add("path/comma-separated-file-2.csv", new LoadOptions(){ Password = "file2-password" });
    comparer.Compare("path/comparison-result.csv");
}

ยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุของไฟล์ CSV โดยใช้ C#

เช่นเดียวกับคุณลักษณะของ Microsoft Word คุณสามารถใช้ตัวเลือกติดตามการเปลี่ยนแปลงสำหรับไฟล์ CSV ภายในแอปพลิเคชัน .NET ของคุณได้ หลังจากการเปรียบเทียบไฟล์ คุณสามารถยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุแต่ละรายการได้ ต่อไปนี้คือขั้นตอนในการเปรียบเทียบไฟล์ CSV จากนั้นยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุ

  • โหลดซอร์สและเพิ่มไฟล์ CSV เป้าหมายโดยใช้คลาส Comparer
  • ทำการเปรียบเทียบไฟล์ที่โหลดโดยใช้วิธีการเปรียบเทียบ
  • ดึงข้อมูลการเปลี่ยนแปลงที่ระบุโดยใช้เมธอด GetChanges
  • ตอนนี้คุณสามารถสำรวจการเปลี่ยนแปลงและตั้งค่า ComparisonAction ของการเปลี่ยนแปลงแต่ละรายการได้
    • สำหรับการเปลี่ยนแปลงที่ตกลง คุณสามารถตั้งค่าเป็นยอมรับ
    • สำหรับการเปลี่ยนแปลงที่ไม่เห็นด้วย คุณสามารถตั้งค่าเป็นปฏิเสธได้
  • สุดท้าย เรียกใช้เมธอด ApplyChanges เพื่อรับเอกสารผลลัพธ์ที่มีการเปลี่ยนแปลงที่ใช้

ซอร์สโค้ด C# ต่อไปนี้เปรียบเทียบไฟล์ CSV สองไฟล์ จากนั้นจึงยอมรับและปฏิเสธการเปลี่ยนแปลงตามลำดับ

/*
 * ยอมรับหรือปฏิเสธการเปลี่ยนแปลงที่ระบุโดยการเปรียบเทียบไฟล์ CSV โดยใช้ C#
 */
using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // ปฏิเสธครั้งแรกและยอมรับการเปลี่ยนแปลงที่ระบุครั้งที่สอง
    changes[0].ComparisonAction = ComparisonAction.Reject;
    changes[1].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}

รับใบอนุญาต API ฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

โดยสรุป วันนี้เราได้เรียนรู้วิธีเปรียบเทียบไฟล์ CSV สองไฟล์ขึ้นไปโดยใช้ C# นอกจากการเปรียบเทียบไฟล์ CSV ที่ป้องกันด้วยรหัสผ่านแล้ว เราได้เรียนรู้ที่จะยอมรับและปฏิเสธการเปลี่ยนแปลงที่ระบุภายในแอปพลิเคชัน .NET โดยทางโปรแกรม

มีการปรับแต่งอื่นๆ อีกมากมายเพื่อควบคุมผลการเปรียบเทียบ เช่น การตั้งค่าความไวในการเปรียบเทียบ แสดงเฉพาะหน้าสรุป การละเว้นช่องว่าง และอื่นๆ อีกมากมาย เรียนรู้เกี่ยวกับคุณลักษณะเหล่านี้จาก เอกสารประกอบ

คุณสามารถเริ่มสร้างแอปพลิเคชันเปรียบเทียบของคุณเองสำหรับ รูปแบบเอกสารที่รองรับ ต่างๆ สำหรับข้อสงสัย ติดต่อเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย