Excel é um dos aplicativos mais amplamente utilizados para análise de dados, geração de relatórios e gestão financeira. Frequentemente, você precisa comparar duas ou mais pastas de trabalho do Excel para identificar alterações, validar atualizações ou rastrear revisões. Fazer isso manualmente pode ser demorado e propenso a erros. Felizmente, com o GroupDocs.Comparison Cloud SDK para .NET, você pode comparar programaticamente pastas de trabalho do Excel em C# e gerar um novo arquivo com todas as diferenças destacadas.

Neste tutorial, você aprenderá como:

Como Configurar a API de Comparação do Excel

Para comparar Excel XLSX files, usaremos o GroupDocs.Comparison Cloud SDK for .NEt. Ele permite que você compare planilhas, rastreie alterações e salve resultados em um único arquivo do Excel.

Instale o SDK via NuGet:

Install-Package GroupDocs.Comparison-Cloud

Antes de executar o seguinte snippet de código, por favor, obtenha seu Client ID e Client Secret do cloud dashboard.

Compare Two Excel Files using C#

Você pode comparar dois arquivos Excel em C# seguindo estas etapas:

  1. Upload the source and target Excel workbooks.
  2. Executar comparação usando a API GroupDocs.Comparison.
  3. Baixe o arquivo resultante com as alterações destacadas.

Carregar Pasta de Trabalho do Excel

Para realizar a operação de comparação, primeiramente, precisamos enviar os arquivos XLSX de origem e destino para o armazenamento em nuvem usando o seguinte exemplo de código:

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

Comparar Pastas de Trabalho do Excel

Agora use o seguinte trecho de código para comparar duas planilhas do Excel. Uma vez executada, a API gera uma nova planilha do Excel contendo as alterações destacadas entre as duas planilhas.

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

Comparar Vários Workbooks Excel em C#

A API REST também oferece a capacidade de comparar várias pastas de trabalho do Excel. Por favor, siga os passos especificados abaixo.

  • Primeiro, crie uma instância da CompareApi.
  • Em segundo lugar, carregue as pastas de trabalho do Excel de entrada no armazenamento em nuvem.
  • Agora, inicialize o objeto ComparisonOptions onde definimos as pastas de trabalho Excel de entrada e resultado.
  • Então, crie um objeto de ComparisonsRequest onde passamos o objeto ComparisonOptions como um argumento.
  • Finalmente, compare pastas de trabalho do Excel usando Comparisons() chamada de 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);
Como comparar dados no excel

Source and target Excel files.

Dado abaixo está uma prévia da planilha resultante gerada após a conclusão da comparação.

comparar arquivos do Excel em C#.

Uma prévia da comparação do Excel usando API REST.

Obter Lista de Alterações em C#

A API REST também oferece a capacidade de obter uma lista de todas as alterações e comparar dados em planilhas do Excel encontradas durante o processo de comparação.

  • Primeiro, crie uma instância da CompareApi.
  • Em seguida, defina o caminho do arquivo XLSX de origem de entrada.
  • Então, defina o caminho do arquivo XLSX de destino.
  • Em seguida, inicialize o objeto ComparisonOptions.
  • Em seguida, atribua os arquivos de origem/destino e defina o caminho do arquivo de saída.
  • Depois disso, crie o PostChangesRequest com o objeto ComparisonOptions como um argumento.
  • Finalmente, obtenha resultados chamando o postChanges() método.
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}");
}

Tente Online

Se você quiser experimentar as capacidades da API diretamente em um navegador da web, sem escrever uma única linha de código, pode considerar usar nossa ferramenta gratuita Online XLSX comparison tool. Esta ferramenta de comparação de Excel compara 2 planilhas do Excel online e retorna os resultados.

comparar arquivos excel online

Conclusão

Neste artigo, demonstramos como comparar planilhas do Excel em C# .NET, destacar diferenças entre planilhas programaticamente, comparar vários arquivos do Excel ao mesmo tempo e como extrair uma lista detalhada de mudanças em arquivos do Excel. Com o GroupDocs.Comparison Cloud SDK para .NET, você pode automatizar a comparação de arquivos do Excel para melhorar a precisão, economizar tempo e agilizar fluxos de trabalho de validação de dados.

Artigos Recomendados