文檔比較是當今編程世界最常見的需求之一。無論是比較word文件、比較excel文件、PDF文檔,甚至比較文本文件或任何其他文檔格式,準確性都是比較的關鍵因素。
本文將向您介紹 GroupDocs.Comparison 如何幫助程序員以多種方式比較任意兩個或多個文檔。 On-Premise GroupDocs.Comparison 的 API 目前可用於 .NET 和 Java,但是,本文傾向於 C# 開發人員。
在 C# 中比較 Excel、Word 文件或任何文檔
GroupDocs.Comparison 允許開發人員比較兩個文檔(實際上不止 2 個。生成的文檔顯示了兩個文件之間的比較變化。下面提到的代碼顯示瞭如何比較兩個 excel 文件只需 3 行 C# 代碼。
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 |
便攜式 | |
做筆記 | 一 |
網頁 | 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# 中比較來自流的文檔
作為程序員,您不僅可以比較本地存儲中可用的文檔,事實上,我們可以比較流中的文檔。
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
- 數據庫
讓我們談談
您可以使用上面突出顯示的功能構建自己的應用程序。如果您在 論壇 上聯繫我們討論、解決問題或分享您的反饋,我們將非常高興。