So sánh tệp CSV bằng C# .NET

Gần đây chúng tôi đã thảo luận cách cơ bản để so sánh hai tệp CSV trong các ứng dụng .NET của chúng tôi. Hôm nay, trong bài viết này, chúng ta sẽ tìm hiểu thêm về cách so sánh nhiều hơn hai CSV bằng C#. Ngoài ra, chúng tôi sẽ thảo luận cách so sánh các tệp CSV được bảo vệ bằng mật khẩu. Cuối cùng nhưng không kém phần quan trọng, cách chấp nhận và từ chối các thay đổi được tìm thấy bằng C# trong ứng dụng .NET.

Các chủ đề sau đây được đề cập dưới đây:

.NET API để so sánh các tệp CSV

GroupDocs.Comparison có .NET API cho phép so sánh các tệp CSV theo nhiều cách khác nhau. Chúng tôi sẽ sử dụng nó để so sánh các tệp CSV trong ứng dụng .NET. Nó còn hỗ trợ so sánh hơn hai tệp CSV, tệp được bảo vệ bằng mật khẩu, chấp nhận và từ chối các thay đổi được phát hiện.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API bằng cách thêm gói của nó vào ứng dụng .NET của bạn thông qua NuGet.

PM> Install-Package GroupDocs.Comparison

Các ví dụ đang chạy cho các tính năng của nó cũng có sẵn tại GitHub. Truy cập tài liệuTham khảo API của nó để được hướng dẫn.

So sánh tệp CSV bằng C#

Chúng tôi đã thảo luận về so sánh cơ bản của hai tệp CSV trước đó. Ở đó, chúng tôi đã xem xét các tệp so sánh mã nguồn C#, các tệp đầu vào mẫu để so sánh và tệp đầu ra so sánh. Bạn có thể truy cập bài viết đó để so sánh cơ bản.

So sánh nhiều hơn hai tệp CSV bằng C#

Nếu bạn có nhiều hơn hai tệp CSV để so sánh thì không có gì phải lo lắng. Nó chỉ đơn giản như so sánh hai tập tin. Bạn chỉ cần thêm tệp thứ ba vào Bộ so sánh.

Sau đây là các bước để so sánh nhiều hơn hai tệp CSV bằng C#.

  • Khởi tạo lớp So sánh với tệp CSV đầu tiên để so sánh.
  • Thêm tệp CSV thứ hai bằng phương pháp Thêm thích hợp.
  • Tương tự, thêm bao nhiêu tệp CSV khác bằng phương thức Thêm.
  • Cuối cùng, gọi phương thức So sánh để nhận kết quả so sánh của tất cả các tệp CSV đã thêm.

Mã nguồn C# sau so sánh nhiều tệp CSV và tạo kết quả so sánh trong các tệp CSV và HTML riêng biệt. Tệp đầu ra HTML làm nổi bật các thay đổi bằng các màu khác nhau.

// So sánh Nhiều (hơn 2) tệp CSV bằng C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    // Thêm nhiều tệp CSV để so sánh
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Add("path/comma-separated-file-3.csv");
    // ...
    // ...
    comparer.Compare("path/comparison-result.csv");
}

So sánh các tệp CSV được bảo vệ bằng mật khẩu bằng C#

Nếu các tệp CSV của bạn được bảo vệ bằng mật khẩu, thì bạn chỉ cần cung cấp mật khẩu khi tải các tệp này. Không có sự khác biệt nào trong phần còn lại của quy trình so sánh nhiều tệp CSV được bảo vệ bằng mật khẩu.

Sau đây là các bước để so sánh các tệp CSV được bảo vệ bằng mật khẩu bằng C#.

  • Chuẩn bị các tùy chọn tải bằng lớp LoadOptions và bằng cách đặt mật khẩu để mở tệp CSV.
  • Tải tệp CSV đầu tiên để so sánh trong khi khởi tạo lớp So sánh.
  • Thêm tệp CSV thứ hai bằng phương pháp Thêm thích hợp.
  • Tương tự, thêm bao nhiêu tệp CSV khác bằng bất kỳ phương thức Thêm nào.
  • Cuối cùng, gọi phương thức So sánh để so sánh tất cả các tệp CSV đã thêm.

Mã nguồn C# sau so sánh nhiều tệp CSV được bảo vệ bằng mật khẩu và tạo kết quả so sánh trong các tệp CSV và HTML riêng biệt.

// So sánh các tệp CSV được bảo vệ bằng mật khẩu (Các giá trị được phân tách bằng dấu phẩy) bằng 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");
}

Chấp nhận hoặc Từ chối các Thay đổi được Xác định của Tệp CSV bằng C#

Giống như tính năng của Microsoft Word, bạn có thể triển khai tùy chọn theo dõi thay đổi cho các tệp CSV trong các ứng dụng .NET của mình. Sau khi so sánh tệp, bạn có thể chấp nhận hoặc từ chối từng thay đổi đã xác định. Sau đây là các bước để so sánh các tệp CSV và sau đó chấp nhận hoặc từ chối các thay đổi đã xác định.

  • Tải nguồn và thêm tệp CSV đích bằng lớp So sánh.
  • Thực hiện so sánh các tệp đã tải bằng phương pháp So sánh.
  • Tìm nạp các thay đổi đã xác định bằng phương thức GetChanges.
  • Giờ đây, bạn có thể duyệt qua các thay đổi và đặt So sánh hành động của từng thay đổi.
    • Đối với những thay đổi đã đồng ý, bạn có thể đặt chúng là Chấp nhận.
    • Đối với những thay đổi không đồng ý, bạn có thể đặt chúng là Từ chối.
  • Cuối cùng, gọi phương thức ApplyChanges để lấy tài liệu kết quả có các thay đổi được áp dụng.

Mã nguồn C# sau so sánh hai tệp CSV, sau đó chấp nhận và từ chối các thay đổi tương ứng.

/*
 * Chấp nhận hoặc từ chối các thay đổi đã xác định bằng cách so sánh các tệp CSV bằng 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();
    
    // Từ chối thay đổi thứ nhất và Chấp nhận thay đổi được xác định thứ hai.
    changes[0].ComparisonAction = ComparisonAction.Reject;
    changes[1].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng API mà không bị giới hạn đánh giá.

Sự kết luận

Tóm lại, hôm nay chúng ta đã học cách so sánh hai hoặc nhiều tệp CSV bằng C#. Cùng với việc so sánh các tệp CSV được bảo vệ bằng mật khẩu, chúng tôi đã học cách chấp nhận và từ chối các thay đổi đã xác định trong các ứng dụng .NET theo chương trình.

Có nhiều tùy chỉnh khác để kiểm soát kết quả so sánh, chẳng hạn như đặt độ nhạy so sánh, chỉ hiển thị trang tóm tắt, bỏ qua các khoảng trống, v.v. Tìm hiểu về các tính năng này từ tài liệu.

Bạn có thể bắt đầu xây dựng các ứng dụng so sánh của riêng mình cho nhiều định dạng tài liệu được hỗ trợ. Đối với các truy vấn, liên hệ với chúng tôi qua diễn đàn.

Xem thêm