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 ファイルを比較するには、次の手順に従います:

  1. ソースおよびターゲットのExcelワークブックをアップロードしてください。
  2. GroupDocs.Comparison APIを使用して比較を実行します。
  3. 変更が強調表示された結果ファイルをダウンロードしてください。

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でデータを比較する方法

ソースおよびターゲットのExcelファイル。

比較が完了した後に生成された結果のワークブックのプレビューは以下の通りです。

C#で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ワークシートをオンラインで比較し、結果を返します。

オンラインで Excel ファイルを比較する

結論

この記事では、C# .NETでExcelワークブックを比較する方法、プログラムでスプレッドシート間の違いを強調表示する方法、複数のExcelファイルを一度に比較する方法、およびExcelファイルの変更の詳細リストを抽出する方法を示しました。GroupDocs.Comparison Cloud SDK for .NETを使用すると、Excelファイルの比較を自動化して精度を向上させ、時間を節約し、データ検証のワークフローを効率化できます。

役立つリンク

おすすめの記事