Сравнение документов — одно из самых распространенных требований в современном мире программирования. Будь то сравнение файлов Word, файлов Excel, PDF-документов или даже сравнение текстовых файлов или документов любого другого формата, точность является ключевым фактором при сравнении.

Сравните файлы с API сравнения документов для разработчиков .NET

В этой статье вы узнаете, как GroupDocs.Comparison помогает программистам сравнивать любые два или более документов разными способами. Локальные API-интерфейсы GroupDocs.Comparison в настоящее время доступны для .NET и Java, однако эта статья ориентирована на разработчиков C#.

Сравните файлы Excel, Word или любой документ на C#

GroupDocs.Comparison позволяет разработчикам сравнивать два документа ([фактически больше 2][6]. Результирующий документ показывает изменения между двумя файлами в сравнении. Нижеприведенный код показывает, как можно сравнить два файла Excel всего за 3 строки кода на C#.

  1. Создайте объект [Comparer][7] с путем к исходному документу.
  2. Вызовите метод [Add][8], чтобы указать путь к целевому документу.
  3. Вызовите метод [Compare][9].
  4. Вот и все.
using (Comparer comparer = new Comparer(“source.xlsx”))
{
    comparer.Add(“target.xlsx”);
    comparer.Compare(“result.xlsx”);
}

Сравнение электронных таблиц Excel или документов Microsoft Word — это только один из подмножеств сравнений, поддерживаемых .NET API GroupDocs.Comparison. Ниже приведен список поддерживаемых форматов. Вы можете посетить [документацию][10], чтобы оставаться в курсе.

Сравнение двух или более электронных таблиц или документов OneNote на C#

После выпуска GroupDocs.Comparison для .NET 20.2 API теперь поддерживает:

  • Сравнение более чем двух электронных таблиц Microsoft Excel и OpenOffice (XLS, XLSX, ODS, CSV, …)
  • Сравните несколько документов Microsoft OneNote.

API уже поддерживает сравнение нескольких файлов для различных форматов документов. Следующий фрагмент кода показывает, как быстро можно сравнить несколько файлов Excel в C#.

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][11] потоком исходного документа.
  2. Вызовите метод [Add][12] и укажите целевой поток.
  3. Вызов метода [Сравнить][13]
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#

Защита паролем распространена в официальной документации. Используя API сравнения документов .NET, он позволяет своим пользователям/разработчикам сравнивать документы, защищенные паролем.

Небольшое изменение кода по сравнению с кодом для сравнения документов, не защищенных паролем. При загрузке документа используйте [LoadOptions][14], чтобы указать пароль документа. Ниже приведен пример кода сравнения для вашей помощи.

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][15] предоставляет вам возможность указать параметры сравнения, такие как стиль шрифта для обнаруженных изменений и т. д.

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 постоянно расширяет поддержку для сравнения большего количества форматов файлов. После выпуска версии 20.2 вы также можете сравнивать файлы JSON с помощью .NET API. Ниже приведены форматы файлов языков программирования, недавно добавленные в [список поддерживаемых форматов документов][16]:

Давай поговорим

Вы можете создать собственное приложение, используя выделенные выше функции. Мы будем рады, если вы свяжетесь с нами на [форуме][17] для обсуждения, решения проблемы или обмена отзывами.

[6]: https://docs.groupdocs.com/display/comparisonnet/Compare+multiple+documents) [7]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer [8]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/add/index [9]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/compare/index [10]: https://docs.groupdocs.com/comparison/net [11]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer [12]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/add/index [13]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison/comparer/methods/compare/index [14]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison.options/loadoptions [15]: https://apireference.groupdocs.com/net/comparison/groupdocs.comparison.options/compareoptions [16]: https://docs.groupdocs.com/comparison/net [17]: https://forum.groupdocs.com/c/comparison