Excel は、データ分析、レポーティング、および財務管理のために最も広く使用されるアプリケーションの 1 つです。多くの場合、変更を特定したり、更新を検証したり、改訂を追跡したりするために、2 つ以上の Excel ワークブックを比較する必要があります。これを手動で行うのは時間がかかり、エラーが発生しやすいです。幸いなことに、.NET 用の GroupDocs.Comparison Cloud SDK を使用すれば、C# で Excel ワークブックをプログラムmatically 比較し、すべての違いが強調表示された新しいファイルを生成できます。
このチュートリアルでは、次のことを学びます:
Excel 比較 APIの設定方法
Excel XLSX files を比較するために、GroupDocs.Comparison Cloud SDK for .NEt を使用します。これにより、スプレッドシートを比較し、変更を追跡し、単一の Excel ワークブックに結果を保存することができます。
NuGetを介してSDKをインストールします:
Install-Package GroupDocs.Comparison-Cloud
以下のコードスニペットを実行する前に、cloud dashboard からクライアント ID とクライアントシークレットを取得してください。
C#を使用して2つのExcelファイルを比較する
C# で 2 つの 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 ワークブックを比較する
次に、以下のコードスニペットを使用して2つのExcelワークブックを比較します。実行されると、APIは2つのスプレッドシート間の変更を強調表示した新しい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 ワークブックを定義します。
- 次に、ComparisonOptionsオブジェクトを引数として渡すComparisonsRequestのオブジェクトを作成します。
- 最後に、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 オブジェクトを初期化します。
- 次に、ソース/ターゲットファイルを割り当て、出力ファイルのパスを設定します。
- その後、ComparisonOptionsオブジェクトを引数としてPostChangesRequestを作成します。
- 最後に、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ファイルの比較を自動化して精度を向上させ、時間を節約し、データ検証のワークフローを効率化できます。