Excel является одним из самых широко используемых приложений для анализа данных, отчетности и финансового управления. Часто вам нужно сравнить две или более книги Excel, чтобы выявить изменения, подтвердить обновления или отслеживать изменения. Делать это вручную может быть затруднительно и подвержено ошибкам. К счастью, с помощью GroupDocs.Comparison Cloud SDK для .NET вы можете программно сравнивать книги Excel на C# и создавать новый файл со всеми выделенными различиями.
В этом учебном пособии вы научитесь:
- Как настроить Excel Comparison API
- Сравнить два файла Excel с использованием C#
- Сравнение нескольких книг Excel в C#
- Получить список изменений в C#
Как настроить API сравнения Excel
Чтобы сравнить Excel XLSX файлы, мы будем использовать GroupDocs.Comparison Cloud SDK для .NEt. Он позволяет сравнивать таблицы, отслеживать изменения и сохранять результаты в одном файле Excel.
Установите SDK через NuGet:
Install-Package GroupDocs.Comparison-Cloud
Перед выполнением следующего фрагмента кода, пожалуйста, получите свой Client ID и Client Secret с cloud dashboard.
Сравнить два файла Excel с использованием C#
Вы можете сравнить два файла Excel на C#, следуя этим шагам:
- Загрузите файлы Excel с исходными и целевыми данными.
- Запустите сравнение с использованием GroupDocs.Comparison API.
- Скачайте итоговый файл с выделенными изменениями.
Загрузите файл Excel
Чтобы выполнить операцию сравнения, сначала необходимо загрузить исходные и целевые файлы XLSX в облачное хранилище, используя следующий пример кода:
var fileApi = new FileApi(configuration);
using (var source = File.OpenRead("source.xlsx"))
{
fileApi.UploadFile(new UploadFileRequest("source.xlsx", source));
}
using (var target = File.OpenRead("target.xlsx"))
{
fileApi.UploadFile(new UploadFileRequest("target.xlsx", target));
}
Сравнить книги Excel
Теперь используйте следующий фрагмент кода для сравнения двух рабочих книг Excel. После выполнения API создаст новую рабочую книгу Excel, содержащую выделенные изменения между двумя электронными таблицами.
var options = new ComparisonOptions
{
SourceFile = new FileInfo { FilePath = "source.xlsx" },
TargetFiles = new List<FileInfo> { new FileInfo { FilePath = "target.xlsx" } },
OutputPath = "result/comparison-result.xlsx"
};
var request = new ComparisonsRequest(options);
var response = compareApi.Comparisons(request);
Сравнить несколько рабочих книг Excel в C#
REST API также предлагает возможности для сравнения нескольких рабочих книг Excel. Пожалуйста, выполните указанные ниже шаги.
- Сначала создайте экземпляр CompareApi.
- Во-вторых, загрузите входные Excel рабочие книги в облачное хранилище.
- Теперь инициализируйте объект ComparisonOptions, где мы определяем входные и результирующие рабочие книги Excel.
- Затем создайте объект ComparisonsRequest, передав объект ComparisonOptions в качестве аргумента.
- Наконец, сравните рабочие книги Excel, используя Comparisons() API вызов.
var options = new ComparisonOptions
{
SourceFile = new FileInfo { FilePath = "source.xlsx" },
TargetFiles = new List<FileInfo>
{
new FileInfo { FilePath = "target1.xlsx" },
new FileInfo { FilePath = "target2.xlsx" }
},
OutputPath = "result/multiple-comparison.xlsx"
};
var request = new ComparisonsRequest(options);
var response = compareApi.Comparisons(request);

Исходные и целевые файлы Excel.
Ниже представлена предварительная версия итоговой рабочей книги, созданной после завершения сравнения.

Предварительный просмотр сравнения Excel с использованием REST API.
Получить список изменений в C#
REST API также предоставляет возможности для получения списка всех изменений и сравнения данных в рабочих листах Excel, найденных в процессе сравнения.
- Сначала создайте экземпляр CompareApi.
- Далее установите путь к исходному файлу XLSX.
- Затем укажите путь к целевому файлу XLSX.
- Далее, инициализируйте объект ComparisonOptions.
- Затем назначьте файлы источника/назначения и установите путь к выходному файлу.
- После этого создайте PostChangesRequest с объектом ComparisonOptions в качестве аргумента.
- Наконец, получите результаты, вызвав метод postChanges().
var options = new ComparisonOptions
{
SourceFile = new FileInfo { FilePath = "source.xlsx" },
TargetFiles = new List<FileInfo> { new FileInfo { FilePath = "target.xlsx" } },
OutputPath = "result/changes-summary.xlsx"
};
var request = new PostChangesRequest(options);
var changes = compareApi.PostChanges(request);
foreach (var change in changes)
{
Console.WriteLine($"{change.Type}: {change.Text}");
}
Попробуйте онлайн
Если вы хотите попробовать возможности API напрямую в веб-браузере, не написав ни строчки кода, вы можете воспользоваться нашим бесплатным Online XLSX comparison tool. Этот инструмент сравнения Excel сравнивает 2 таблицы Excel онлайн и возвращает результаты.

Заключение
В этой статье мы продемонстрировали, как сравнивать рабочие книги Excel в C# .NET, программно выделять различия между электронными таблицами, сравнивать несколько файлов Excel одновременно и как извлечь подробный список изменений в файлах Excel. С помощью GroupDocs.Comparison Cloud SDK для .NET вы можете автоматизировать сравнение файлов Excel для повышения точности, экономии времени и упрощения рабочих процессов проверки данных.