文檔比較是當今編程世界最常見的需求之一。無論是比較word文件、比較excel文件、PDF文檔,甚至比較文本文件或任何其他文檔格式,準確性都是比較的關鍵因素。

使用面向 .NET 開發人員的文檔比較 API 比較文件

本文將向您介紹 GroupDocs.Comparison 如何幫助程序員以多種方式比較任意兩個或多個文檔。 On-Premise GroupDocs.Comparison 的 API 目前可用於 .NETJava,但是,本文傾向於 C# 開發人員。

在 C# 中比較 Excel、Word 文件或任何文檔

GroupDocs.Comparison 允許開發人員比較兩個文檔(實際上不止 2 個。生成的文檔顯示了兩個文件之間的比較變化。下面提到的代碼顯示瞭如何比較兩個 excel 文件只需 3 行 C# 代碼。

  1. 使用源文檔路徑實例化 Comparer 對象。
  2. 調用Add方法指定目標文件路徑。
  3. 調用 Compare 方法。
  4. 而已。
using (Comparer comparer = new Comparer(“source.xlsx”))
{
    comparer.Add(“target.xlsx”);
    comparer.Compare(“result.xlsx”);
}

比較 Excel 電子表格或 Microsoft Word 文檔只是 GroupDocs.Comparison 的 .NET API 支持的比較子集之一。以下是支持的文檔類型及其格式的列表。您可以訪問 文檔 以了解最新信息。

文件類型 文件格式
文字處理 DOC、DOCX、DOCM、DOT、DOTX、DOTM、RTF、TXT
電子表格 XLS、XLSX、XLSM、XLT、XLTM、XLSB、XLSM、CSV
簡報 PPT、PPTX、PPS、PPSX、POT、POTX
打開文檔 ODT、ODP、OTP、ODS、OTT
Microsoft Visio 繪圖 VSD、VSDX、VSS、VST、VDX
便攜式 PDF
做筆記
網頁 HTM、HTML、MHT、MHTML
電子書 手機
圖片 BMP、GIF、JPG、JPEG、PNG、DICOM、DJVU、DWG、DXF
電子郵件 EML、EMLX、味精

在 C# 中比較兩個或多個電子表格或 OneNote 文檔

在 GroupDocs.Comparison for .NET 20.2 發布後,API 現在支持:

  • 比較兩個以上的 Microsoft Excel 和 OpenOffice 電子表格(XLS、XLSX、ODS、CSV 等)
  • 比較多個 Microsoft OneNote 文檔。

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

在 C# 中比較受密碼保護的 Word 文檔/Excel 電子表格

密碼保護在官方文檔中很常見。使用文檔比較 .NET API,它允許其用戶/開發人員比較受密碼保護的文檔。

與用於比較不受密碼保護的文檔的代碼相比,代碼只有一點點變化。加載文檔時,使用 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 不斷增加對比較更多文件格式的支持。在 v 20.2 版本之後,您現在還可以使用 .NET API 比較 JSON 文件。以下是最近添加到 支持的文檔格式列表 的編程語言文件格式:

  • 動作腳本
  • 彙編器
  • 基於C的
  • 銳化
  • 時髦的
  • 爪哇Script
  • 爪哇
  • JSON
  • 目標 C/C++
  • Perl
  • PHP
  • Python
  • 紅寶石
  • 斯卡拉
  • Shell/批處理腳本、日誌、差異、配置、LESS
  • 數據庫

讓我們談談

您可以使用上面突出顯示的功能構建自己的應用程序。如果您在 論壇 上聯繫我們討論、解決問題或分享您的反饋,我們將非常高興。