Recentemente discutimos a maneira básica de comparar dois arquivos CSV em nossos aplicativos .NET. Hoje, neste artigo, aprenderemos ainda mais a comparar mais de dois CSVs usando C#. Além disso, discutiremos como comparar os arquivos CSV protegidos por senha. Por último, mas não menos importante, como aceitar e rejeitar as alterações encontradas usando C# dentro do aplicativo .NET.
Os seguintes tópicos são abordados abaixo:
- API .NET para comparar arquivos CSV
- Comparação simples de arquivos CSV
- Compare mais de dois arquivos CSV
- Comparar arquivos CSV protegidos por senha
- Aceitar ou Rejeitar Alterações Identificadas
API .NET para comparar arquivos CSV
GroupDocs.Comparison tem sua .NET API que permite comparar arquivos CSV de várias maneiras. Vamos usá-lo para comparar arquivos CSV dentro do aplicativo .NET. Ele também suporta a comparação de mais de dois arquivos CSV, arquivos protegidos por senha, aceitando e rejeitando as alterações descobertas.
Você pode baixar as DLLs ou o instalador MSI da seção de downloads ou instalar a API adicionando seu pacote ao seu aplicativo .NET via NuGet.
PM> Install-Package GroupDocs.Comparison
Exemplos de execução para seus recursos também estão disponíveis em GitHub. Visite sua documentação e Referência da API para obter orientação.
Comparar arquivos CSV usando C#
Já discutimos a comparação básica de dois arquivos CSV anteriormente. Lá, examinamos o código-fonte C# de comparação de arquivos, os arquivos de entrada de amostra para comparação e o arquivo de saída de comparação. Você pode visitar esse artigo para uma comparação básica.
Compare mais de dois arquivos CSV usando C#
Se você tiver mais de dois arquivos CSV para comparar, não há com o que se preocupar. É tão simples quanto comparar dois arquivos. Você só precisa adicionar o terceiro arquivo ao Comparador.
A seguir estão as etapas para comparar mais de dois arquivos CSV usando C#.
- Instancie a classe Comparer com o primeiro arquivo CSV a ser comparado.
- Adicione o segundo arquivo CSV usando o método Add apropriado.
- Da mesma forma, adicione tantos outros arquivos CSV usando o método Add.
- Por fim, invoque o método Compare para obter os resultados de comparação de todos os arquivos CSV adicionados.
O código-fonte C# a seguir compara vários arquivos CSV e gera os resultados da comparação em arquivos CSV e HTML separados. O arquivo de saída HTML destaca as alterações em cores diferentes.
// Compare vários (mais de 2) arquivos CSV usando C#
using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
// Adicionando vários arquivos CSV para comparar
comparer.Add("path/comma-separated-file-2.csv");
comparer.Add("path/comma-separated-file-3.csv");
// ...
// ...
comparer.Compare("path/comparison-result.csv");
}
Comparar arquivos CSV protegidos por senha usando C#
Se seus arquivos CSV estiverem protegidos por senha, você só precisa fornecer a senha ao carregar esses arquivos. Não há diferença no restante do procedimento para comparar vários arquivos CSV protegidos por senha.
A seguir estão as etapas para comparar arquivos CSV protegidos por senha usando C#.
- Prepare as opções de carregamento usando a classe LoadOptions e definindo a senha para abrir o arquivo CSV.
- Carregue o primeiro arquivo CSV para comparar enquanto instancia a classe Comparer.
- Adicione o segundo arquivo CSV usando o método Add apropriado.
- Da mesma forma, adicione tantos outros arquivos CSV usando qualquer um dos métodos Add.
- Por fim, chame o método Compare para obter a comparação de todos os arquivos CSV adicionados.
O código-fonte C# a seguir compara vários arquivos CSV protegidos por senha e gera os resultados da comparação em arquivos CSV e HTML separados.
// Comparar arquivos CSV (valores separados por vírgula) protegidos por senha usando 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");
}
Aceitar ou rejeitar alterações identificadas de arquivos CSV usando C#
Assim como o recurso do Microsoft Word, você pode implementar a opção rastrear alterações para os arquivos CSV em seus aplicativos .NET. Após a comparação de arquivos, você pode aceitar ou rejeitar cada uma das alterações identificadas. A seguir estão as etapas para comparar arquivos CSV e, em seguida, aceitar ou rejeitar as alterações identificadas.
- Carregue a origem e adicione arquivos CSV de destino usando a classe Comparer.
- Execute a comparação dos arquivos carregados usando o método Compare.
- Busque as alterações identificadas usando o método GetChanges.
- Agora você pode percorrer as alterações e definir o ComparisonAction de cada alteração.
- Para as alterações acordadas, você pode defini-las como Aceitar.
- Para as alterações discordantes, você pode defini-las como Rejeitar.
- Por fim, chame o método ApplyChanges para obter o documento resultante com as alterações aplicadas.
O código-fonte C# a seguir compara dois arquivos CSV e, em seguida, aceita e rejeita as alterações de acordo.
/*
* Aceite ou rejeite as alterações identificadas comparando arquivos CSV usando 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();
// Rejeitando a primeira e aceitando a segunda mudança identificada.
changes[0].ComparisonAction = ComparisonAction.Reject;
changes[1].ComparisonAction = ComparisonAction.Accept;
comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.
Conclusão
Para resumir, hoje aprendemos a comparar dois ou mais arquivos CSV usando C#. Junto com a comparação de arquivos CSV protegidos por senha, aprendemos a aceitar e rejeitar programaticamente as alterações identificadas nos aplicativos .NET.
Existem muitas outras personalizações para controlar os resultados da comparação, como definir a sensibilidade da comparação, mostrar apenas a página de resumo, ignorar lacunas e muito mais. Saiba mais sobre esses recursos na documentação.
Você pode começar a criar seus próprios aplicativos de comparação para vários formatos de documento suportados. Para dúvidas, entre em contato conosco através do fórum.