Excel 是最常用的數據分析、報告和財務管理應用程序之一。通常,您需要比較兩個或更多 Excel 工作簿以識別更改、驗證更新或跟踪修訂。手動執行這個過程可能會耗時且容易出錯。幸運的是,使用適用於 GroupDocs.Comparison for .NET Cloud SDK,您可以使用 C# 程式化地比較 Excel 工作簿,並生成一個突出顯示所有差異的新文件。
在本教程中,您將學習如何:
如何設置 Excel 比較 API
為了比較 Excel XLSX files,我們將使用 GroupDocs.Comparison Cloud SDK for .NEt。它允許您比較電子表格、跟蹤變更,並將結果保存在一個 Excel 工作簿中。
透過 NuGet 安裝 SDK:
Install-Package GroupDocs.Comparison-Cloud
在運行以下代碼片段之前,請從 cloud dashboard 獲取您的客戶端 ID 和客戶端密鑰。
比較兩個 Excel 檔案使用 C#
您可以通過以下步驟在 C# 中比較兩個 Excel 文件:
- 上傳源和目標 Excel 工作簿。
- 使用 GroupDocs.Comparison API 進行比較。
- 下載帶有突出顯示變更的結果文件。
上傳 Excel 工作簿
為了執行比較操作,首先,我們需要使用以下代碼範本將源和目標 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 工作簿
現在使用以下程式碼片段比較兩個 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);
在 C# 中比較多個 Excel 工作簿
該 REST API 還提供了比較多個 Excel 工作簿的功能。請按照以下指定的步驟操作。
- 首先,創建一個 CompareApi 的實例。
- 其次,將輸入的 Excel 工作簿上傳至雲端儲存。
- 現在,初始化 ComparisonOptions 物件,我們在此定義輸入和結果 Excel 工作簿。
- 然後,創建一個 ComparisonsRequest 的物件,我們將 ComparisonOptions 物件作為參數傳遞。
- 最後,使用 Comparisons() API 介面比較 Excel 工作簿。
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);

源文件和目標Excel文件。
以下是完成比較後生成的結果工作簿的預覽。

使用 REST API 進行 Excel 比較的預覽。
獲取 C# 的變更列表
該 REST API 也提供獲取所有更改的列表以及在比較過程中發現的 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 文件,以及如何提取 Excel 文件變更的詳細列表。使用 GroupDocs.Comparison Cloud SDK for .NET,您可以自動化 Excel 文件比較,以提高準確性、節省時間並簡化數據驗證工作流程。