Недавно мы обсуждали основной способ сравнения двух CSV-файлов в наших приложениях .NET. Сегодня в этой статье мы дополнительно научимся сравнивать более двух CSV с помощью C#. Кроме того, мы обсудим, как сравнивать файлы CSV, защищенные паролем. И последнее, но не менее важное: как принять и отклонить найденные изменения с помощью C# в приложении .NET.
Ниже рассматриваются следующие темы:
- .NET API для сравнения файлов CSV
- Простое сравнение файлов CSV
- Сравните более двух файлов CSV
- Сравните файлы CSV, защищенные паролем
- Принять или отклонить выявленные изменения
.NET API для сравнения файлов CSV
У GroupDocs.Comparison есть свой .NET API, который позволяет сравнивать CSV-файлы различными способами. Мы будем использовать его для сравнения файлов CSV в приложении .NET. Кроме того, он поддерживает сравнение более двух файлов CSV, защищенных паролем файлов, принятие и отклонение обнаруженных изменений.
Вы можете загрузить библиотеки DLL или установщик MSI из раздела загрузок или установить API, добавив его пакет в свое приложение .NET через NuGet.
PM> Install-Package GroupDocs.Comparison
Запущенные примеры его функций также доступны на GitHub. Посетите документацию и справочник по API для получения рекомендаций.
Сравните файлы CSV с помощью C#
Мы уже обсуждали базовое сравнение двух файлов CSV ранее. Там мы рассмотрели исходный код C# для сравнения файлов, примеры входных файлов для сравнения и выходной файл сравнения. Вы можете посетить эту статью для базового сравнения.
Сравните более двух файлов CSV с помощью C#
Если у вас есть более двух файлов CSV для сравнения, не о чем беспокоиться. Это так же просто, как сравнить два файла. Вам просто нужно добавить третий файл в Comparer.
Ниже приведены шаги для сравнения более двух файлов CSV с использованием C#.
- Создайте экземпляр класса Comparer с первым CSV-файлом для сравнения.
- Добавьте второй файл CSV, используя соответствующий метод Add.
- Аналогичным образом добавьте столько же других файлов CSV, используя метод Add.
- Наконец, вызовите метод Compare, чтобы получить результаты сравнения всех добавленных файлов CSV.
Следующий исходный код C# сравнивает несколько файлов CSV и создает результаты сравнения в отдельных файлах CSV и HTML. Выходной файл HTML выделяет изменения разными цветами.
// Сравните несколько (более 2) файлов CSV с помощью С#
using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
// Добавление нескольких файлов CSV для сравнения
comparer.Add("path/comma-separated-file-2.csv");
comparer.Add("path/comma-separated-file-3.csv");
// ...
// ...
comparer.Compare("path/comparison-result.csv");
}
Сравните файлы CSV, защищенные паролем, с помощью C#
Если ваши CSV-файлы защищены паролем, вам просто нужно указать пароль при загрузке этих файлов. В остальной части процедуры сравнения нескольких файлов CSV, защищенных паролем, нет никакой разницы.
Ниже приведены шаги для сравнения файлов CSV, защищенных паролем, с помощью C#.
- Подготовьте параметры загрузки, используя класс LoadOptions и установив пароль для открытия CSV-файла.
- Загрузите первый CSV-файл для сравнения при создании экземпляра класса Comparer.
- Добавьте второй файл CSV, используя соответствующий метод Add.
- Аналогичным образом добавьте столько же других файлов CSV, используя любой из методов добавления.
- Наконец, вызовите метод Compare, чтобы получить сравнение всех добавленных файлов CSV.
Следующий исходный код C# сравнивает несколько файлов CSV, защищенных паролем, и создает результаты сравнения в отдельных файлах CSV и HTML.
// Сравните защищенные паролем файлы CSV (значения, разделенные запятыми) с помощью C#
using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv", new LoadOptions(){ Password = "file1-password" }))
{
comparer.Add("path/comma-separated-file-2.csv", new LoadOptions(){ Password = "file2-password" });
comparer.Compare("path/comparison-result.csv");
}
Принять или отклонить выявленные изменения файлов CSV с помощью C#
Как и в Microsoft Word, вы можете реализовать опцию отслеживания изменений для CSV-файлов в ваших приложениях .NET. После сравнения файлов вы можете принять или отклонить каждое из выявленных изменений. Ниже приведены шаги для сравнения файлов CSV, а затем принятия или отклонения выявленных изменений.
- Загрузите исходные и добавьте целевые CSV-файлы, используя класс Comparer.
- Выполните сравнение загруженных файлов с помощью метода Compare.
- Получите выявленные изменения с помощью метода GetChanges.
- Теперь вы можете просмотреть изменения и установить ComparisonAction для каждого изменения.
- Для согласованных изменений вы можете установить их как Принять.
- Для несогласных изменений вы можете установить их как Отклонить.
- Наконец, вызовите метод ApplyChanges, чтобы получить результирующий документ с примененными изменениями.
Следующий исходный код C# сравнивает два CSV-файла, а затем соответственно принимает и отклоняет изменения.
/*
* Примите или отклоните выявленные изменения, сравнив файлы CSV с помощью C#.
*/
using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
comparer.Add("path/comma-separated-file-2.csv");
comparer.Compare();
ChangeInfo[] changes = comparer.GetChanges();
// Отклонение первого и принятие второго выявленного изменения.
changes[0].ComparisonAction = ComparisonAction.Reject;
changes[1].ComparisonAction = ComparisonAction.Accept;
comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}
Получите бесплатную лицензию API
Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.
Вывод
Подводя итог, сегодня мы научились сравнивать два или более файла CSV с помощью C#. Наряду со сравнением файлов CSV, защищенных паролем, мы научились программно принимать и отклонять выявленные изменения в приложениях .NET.
Существует множество других настроек для управления результатами сравнения, например, настройка чувствительности сравнения, отображение только сводной страницы, игнорирование пробелов и многое другое. Узнайте об этих функциях из документации.
Вы можете начать создавать собственные приложения для сравнения различных поддерживаемых форматов документов. По вопросам обращайтесь к нам через форум.