Comparar archivos CSV usando C# .NET

Recientemente discutimos la forma básica de comparar dos archivos CSV dentro de nuestras aplicaciones .NET. Hoy, en este artículo, aprenderemos más a comparar más de dos CSV usando C#. Además, discutiremos cómo comparar los archivos CSV protegidos con contraseña. Por último, pero no menos importante, cómo aceptar y rechazar los cambios encontrados usando C# dentro de la aplicación .NET.

Los siguientes temas se tratan a continuación:

API .NET para comparar archivos CSV

GroupDocs.Comparison tiene su .NET API que permite comparar archivos CSV de varias maneras. Lo usaremos para comparar archivos CSV dentro de la aplicación .NET. Además, admite la comparación de más de dos archivos CSV, archivos protegidos con contraseña, aceptando y rechazando los cambios descubiertos.

Puede descargar las DLL o el instalador MSI desde la sección de descargas o instalar la API agregando su paquete a su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Comparison

Los ejemplos de ejecución de sus características también están disponibles en GitHub. Visite su documentación y Referencia API para obtener orientación.

Comparar archivos CSV usando C#

Ya hemos discutido la comparación básica de dos archivos CSV anteriormente. Allí, examinamos el código fuente de C# de comparación de archivos, los archivos de entrada de muestra para la comparación y el archivo de salida de la comparación. Puede visitar ese artículo para una comparación básica.

Compara más de dos archivos CSV usando C#

Si tiene más de dos archivos CSV para comparar, no se preocupe. Es tan simple como comparar dos archivos. Solo necesita agregar el tercer archivo al Comparador.

Los siguientes son los pasos para comparar más de dos archivos CSV usando C#.

  • Cree una instancia de la clase Comparador con el primer archivo CSV para comparar.
  • Agregue el segundo archivo CSV usando el método Agregar apropiado.
  • Del mismo modo, agregue tantos otros archivos CSV utilizando el método Agregar.
  • Por último, invoque el método Comparar para obtener los resultados de la comparación de todos los archivos CSV agregados.

El siguiente código fuente de C# compara varios archivos CSV y genera los resultados de la comparación en archivos CSV y HTML separados. El archivo de salida HTML resalta los cambios en diferentes colores.

// Compare múltiples (más de 2) archivos CSV usando C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    // Agregar múltiples archivos 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");
}

Compare archivos CSV protegidos con contraseña usando C#

Si sus archivos CSV están protegidos con contraseña, solo necesita proporcionar la contraseña mientras carga estos archivos. No hay diferencia en el resto del procedimiento para comparar varios archivos CSV protegidos con contraseña.

Los siguientes son los pasos para comparar archivos CSV protegidos con contraseña usando C#.

  • Prepare las opciones de carga utilizando la clase LoadOptions y configurando la contraseña para abrir el archivo CSV.
  • Cargue el primer archivo CSV para comparar mientras crea una instancia de la clase Comparer.
  • Agregue el segundo archivo CSV usando el método Agregar apropiado.
  • Del mismo modo, agregue tantos otros archivos CSV utilizando cualquiera de los métodos Agregar.
  • Por último, llame al método Comparar para obtener la comparación de todos los archivos CSV agregados.

El siguiente código fuente de C# compara varios archivos CSV protegidos con contraseña y genera los resultados de la comparación en archivos CSV y HTML separados.

// Compare archivos CSV (valores separados por comas) protegidos con contraseña 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");
}

Aceptar o rechazar cambios identificados de archivos CSV usando C#

Al igual que la característica de Microsoft Word, puede implementar la opción de control de cambios para los archivos CSV dentro de sus aplicaciones .NET. Después de la comparación de archivos, puede aceptar o rechazar cada uno de los cambios identificados. Los siguientes son los pasos para comparar archivos CSV y luego aceptar o rechazar los cambios identificados.

  • Cargue la fuente y agregue los archivos CSV de destino usando la clase Comparer.
  • Realice la comparación de los archivos cargados utilizando el método Comparar.
  • Obtenga los cambios identificados mediante el método GetChanges.
  • Ahora puede recorrer los cambios y establecer la ComparisonAction de cada cambio.
    • Para los cambios acordados, puede configurarlos como Aceptar.
    • Para los cambios en desacuerdo, puede configurarlos como Rechazar.
  • Finalmente, llame al método ApplyChanges para obtener el documento resultante con los cambios aplicados.

El siguiente código fuente de C# compara dos archivos CSV y luego acepta y rechaza los cambios en consecuencia.

/*
 * Acepte o rechace los cambios identificados comparando archivos 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();
    
    // Rechazando el primero y Aceptar el segundo cambio identificado.
    changes[0].ComparisonAction = ComparisonAction.Reject;
    changes[1].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

En resumen, hoy aprendimos cómo comparar dos o más archivos CSV usando C#. Junto con la comparación de archivos CSV protegidos con contraseña, aprendimos a aceptar y rechazar mediante programación los cambios identificados dentro de las aplicaciones .NET.

Hay muchas otras personalizaciones para controlar los resultados de la comparación, como configurar la sensibilidad de la comparación, mostrar solo la página de resumen, ignorar las lagunas y mucho más. Obtenga más información sobre estas funciones en la documentación.

Puede comenzar a crear sus propias aplicaciones de comparación para varios formatos de documentos admitidos. Para consultas, contáctenos a través del foro.

Ver también