Excel là một trong những ứng dụng được sử dụng rộng rãi nhất cho phân tích dữ liệu, báo cáo và quản lý tài chính. Thường thì, bạn cần so sánh hai hoặc nhiều bảng tính Excel để xác định các thay đổi, xác thực các cập nhật hoặc theo dõi các sửa đổi. Làm điều này một cách thủ công có thể tốn thời gian và dễ mắc sai lầm. May mắn thay, với GroupDocs.Comparison Cloud SDK cho .NET, bạn có thể so sánh lập trình các bảng tính Excel trong C# và tạo một tệp mới với tất cả các sự khác biệt được làm nổi bật.

Trong hướng dẫn này, bạn sẽ học cách:

Cách thiết lập API so sánh Excel

Để so sánh Excel XLSX files, chúng tôi sẽ sử dụng GroupDocs.Comparison Cloud SDK for .NEt. Nó cho phép bạn so sánh bảng tính, theo dõi các thay đổi và lưu kết quả trong một tập tin Excel duy nhất.

Cài đặt SDK qua NuGet:

Install-Package GroupDocs.Comparison-Cloud

Trước khi chạy đoạn mã sau, vui lòng lấy Client ID và Client Secret của bạn từ cloud dashboard.

So sánh Hai Tệp Excel bằng C#

Bạn có thể so sánh hai tệp Excel trong C# bằng cách làm theo các bước sau:

  1. Tải lên các bảng tính Excel nguồn và đích.
  2. Chạy so sánh sử dụng API GroupDocs.Comparison.
  3. Tải xuống tệp kết quả với các thay đổi được làm nổi bật.

Tải lên Sổ làm việc Excel

Để thực hiện phép so sánh, trước tiên, chúng ta cần tải lên các tệp XLSX nguồn và đích lên lưu trữ đám mây bằng cách sử dụng mẫu mã sau:

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));
}

So sánh các Workbooks Excel

Bây giờ hãy sử dụng đoạn mã sau để so sánh hai sổ làm việc Excel. Khi được thực thi, API sẽ tạo ra một sổ làm việc Excel mới chứa các thay đổi được đánh dấu giữa hai bảng tính.

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);

So sánh nhiều sổ tay Excel trong C#

API REST cũng cung cấp khả năng so sánh nhiều sổ làm việc Excel. Vui lòng làm theo các bước được chỉ ra dưới đây.

  • Đầu tiên, tạo một thể hiện của CompareApi.
  • Thứ hai, tải lên các workbook Excel đầu vào vào lưu trữ đám mây.
  • Bây giờ, khởi tạo đối tượng ComparisonOptions nơi chúng ta định nghĩa các workbook Excel đầu vào và kết quả.
  • Sau đó, tạo một đối tượng của ComparisonsRequest nơi chúng ta truyền đối tượng ComparisonOptions làm tham số.
  • Cuối cùng, so sánh các sổ làm việc Excel bằng cách sử dụng Comparisons() API call.
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);
Cách so sánh dữ liệu trong excel

Source and target Excel files.

Dưới đây là bản xem trước của sổ làm việc kết quả được tạo ra sau khi so sánh đã hoàn tất.

so sánh các tệp Excel trong C#.

Một bản xem trước về so sánh Excel sử dụng REST API.

Lấy danh sách các thay đổi trong C#

REST API cũng cung cấp khả năng để nhận được danh sách tất cả các thay đổi và so sánh dữ liệu trong các bảng tính Excel được tìm thấy trong quá trình so sánh.

  • Đầu tiên, tạo một thể hiện của CompareApi.
  • Tiếp theo, hãy đặt đường dẫn tệp nguồn XLSX.
  • Sau đó, đặt đường dẫn tệp XLSX mục tiêu.
  • Tiếp theo, khởi tạo đối tượng ComparisonOptions.
  • Sau đó, chỉ định các tệp nguồn/mục tiêu và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo PostChangesRequest với đối tượng ComparisonOptions làm tham số.
  • Cuối cùng, hãy lấy kết quả bằng cách gọi phương thức 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}");
}

Thử trực tuyến

Nếu bạn muốn thử nghiệm khả năng của API trực tiếp trong trình duyệt web, mà không cần viết một dòng mã nào, bạn có thể xem xét sử dụng Công cụ so sánh XLSX trực tuyến miễn phí của chúng tôi. Công cụ so sánh Excel này so sánh 2 bảng tính Excel trực tuyến và trả về kết quả.

so sánh tệp excel trực tuyến

Kết luận

Trong bài viết này, chúng tôi đã trình bày cách so sánh các workbook Excel trong C# .NET, làm nổi bật sự khác biệt giữa các bảng tính một cách lập trình, so sánh nhiều tệp Excel cùng một lúc và cách trích xuất danh sách chi tiết các thay đổi trong các tệp Excel. Với GroupDocs.Comparison Cloud SDK cho .NET, bạn có thể tự động hóa việc so sánh tệp Excel để cải thiện độ chính xác, tiết kiệm thời gian và tăng tốc quy trình xác thực dữ liệu.

Liên kết hữu ích

Các Bài Viết Được Khuyến Nghị