ドキュメントの比較は、今日のプログラミングの世界で最も一般的な要件の1つです。ワードファイルを比較する場合でも、Excelファイル、PDFドキュメントを比較する場合でも、テキストファイルやその他のドキュメント形式を比較する場合でも、比較する際の重要な要素は正確さです。

.NET開発者向けのドキュメント比較APIを使用してファイルを比較する

この記事では、** GroupDocs.Comparison **によって、プログラマーが2つ以上のドキュメントをさまざまな方法で比較できるようになる方法について説明します。 オンプレミスGroupDocs.ComparisonのAPIは現在.NETJavaで利用できますが、この記事はC#開発者を対象としています。

Excel、Wordファイル、またはC#の任意のドキュメントを比較します

GroupDocs.Comparisonを使用すると、開発者は2つのドキュメントを比較できます(実際には2つ以上。結果のドキュメントは、2つのファイル間の変更を比較して示しています。以下のコードは、2つのExcelファイルを比較する方法を示しています。 C#のわずか3行のコードで。

  1. Comparerオブジェクトをソースドキュメントパスでインスタンス化します。
  2. Addメソッドを呼び出して、ターゲットドキュメントのパスを指定します。
  3. Compareメソッドを呼び出します。
  4. それでおしまい。
using (Comparer comparer = new Comparer(“source.xlsx”))
{
    comparer.Add(“target.xlsx”);
    comparer.Compare(“result.xlsx”);
}

ExcelスプレッドシートまたはMicrosoftWordドキュメントの比較は、GroupDocs.Comparisonの.NETAPIでサポートされている比較のサブセットの1つにすぎません。以下は、サポートされている形式のリストです。 ドキュメントにアクセスして、最新情報を入手してください。

ドキュメントタイプ ファイル形式
ワードプロセッシング DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, TXT
スプレッドシート XLS, XLSX, XLSM, XLT, XLTM, XLSB, XLSM, CSV
プレゼンテーション PPT, PPTX, PPS, PPSX, POT, POTX
OpenDocument ODT, ODP, OTP, ODS, OTT
MicrosoftVisio図面 VSD, VSDX, VSS, VST, VDX
ポータブル PDF
メモを取る ONE
Web HTM, HTML, MHT, MHTML
電子ブック MOBI
画像 BMP, GIF, JPG, JPEG, PNG, DICOM, DJVU, DWG, DXF
メール EML, EMLX, MSG

C#で2つ以上のスプレッドシートまたはOneNoteドキュメントを比較する

GroupDocs.Comparison for .NET 20.2のリリース後、APIは以下をサポートするようになりました。

  • 2つ以上のMicrosoftExcelOpenOffice スプレッドシート(XLS、XLSX、ODS、CSVなど) の比較
  • 複数のMicrosoftOneNoteドキュメントを比較します。

APIは、さまざまなドキュメント形式の複数のファイルの比較をすでにサポートしています。次のコードスニペットは、C#で複数のExcelファイルを比較できる速度を示しています。

using (Comparer comparer = new Comparer(“source.xlsx”)
{
    comparer.Add(“target1.xlsx”);
    comparer.Add(“target2.xlsx”);
    comparer.Add(“target3.xlsx”);
    comparer.Compare(“result.xlsx”);
}

C#でストリームからのドキュメントを比較する

プログラマーは、ローカルストレージで利用可能なドキュメントを比較できるだけでなく、実際、ストリームからのドキュメントを比較することもできます。

  1. Comparerオブジェクトをソースドキュメントストリームで初期化するだけです。
  2. Addメソッドを呼び出して、ターゲットストリームを指定します。
  3. 比較メソッドを呼び出す
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”))
{
    comparer.Add(File.OpenRead(“target1.docx”));
    comparer.Add(File.OpenRead(“target2.docx”));
    comparer.Add(File.OpenRead(“target3.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

パスワードで保護されたWord文書/ExcelスプレッドシートをC#で比較

パスワード保護は、公式ドキュメントでは一般的です。ドキュメント比較.NETAPIを使用すると、ユーザー/開発者はパスワードで保護されたドキュメントを比較できます。

パスワードで保護されていないドキュメントを比較するためのコードと比較して、コードが少し変更されています。ドキュメントの読み込み中に、LoadOptionsを使用してドキュメントのパスワードを指定します。以下はあなたの援助のためのサンプル比較コードです。

using (Comparer comparer = new Comparer("source.docx", new LoadOptions() { Password = "1234" }))
{
    comparer.Add("target1.docx", new LoadOptions() { Password = "5678" });
    comparer.Add("target2.docx", new LoadOptions() { Password = "5678" });
    comparer.Add("target3.docx", new LoadOptions() { Password = "5678" });
    comparer.Compare("result.docx");
}

特定の設定を持つドキュメントの比較

比較する前に、以下のようなコードを使用して、カスタマイズした比較設定で複数のドキュメントを比較できます。

CompareOptionsは、検出された変更のフォントスタイルなどの比較オプションを指定する機会を提供します。

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    CompareOptions compareOptions = new CompareOptions()
    {
        InsertedItemStyle = new StyleSettings()
        {
            FontColor = System.Drawing.Color.Yellow
        }
    };
    comparer.Compare(“result.docx”, compareOptions);
}

C#でプログラミング言語ファイルを比較する

GroupDocsは、より多くのファイル形式を比較するためのサポートを継続的に増やしています。リリースv20.2以降、.NETAPIを使用してJSONファイルを比較することもできるようになりました。 サポートされているドキュメント形式のリストに最近追加されたプログラミング言語のファイル形式は次のとおりです。

  • ActionScript
  • アセンブラー
  • Cベース
  • Cシャープ
  • Groovy
  • JavaScript
  • Java
  • JSON
  • Objective C / C ++
  • Perl
  • PHP
  • Python
  • ルビー
  • Scala
  • シェル/バッチスクリプト、ログ、差分、構成、LESS
  • SQL

話そう

上記で強調した機能を使用して、独自のアプリケーションを構築できます。 フォーラムでご連絡いただき、問題の解決について話し合ったり、フィードバックを共有したりしていただければ幸いです。