Excel es una de las aplicaciones más utilizadas para el análisis de datos, informes y gestión financiera. A menudo, es necesario comparar dos o más libros de Excel para identificar cambios, validar actualizaciones o realizar un seguimiento de las revisiones. Hacer esto manualmente puede llevar mucho tiempo y estar sujeto a errores. Afortunadamente, con el GroupDocs.Comparison Cloud SDK para .NET, puedes comparar programáticamente libros de Excel en C# y generar un nuevo archivo con todas las diferencias resaltadas.

En este tutorial, aprenderás a:

Cómo configurar la API de comparación de Excel

Para comparar Excel XLSX files, utilizaremos el GroupDocs.Comparison Cloud SDK for .NEt. Te permite comparar hojas de cálculo, rastrear cambios y guardar resultados en un solo libro de Excel.

Instale el SDK a través de NuGet:

Install-Package GroupDocs.Comparison-Cloud

Antes de ejecutar el siguiente fragmento de código, por favor obtén tu ID de cliente y secreto de cliente del cloud dashboard.

Comparar dos archivos de Excel utilizando C#

Puedes comparar dos archivos de Excel en C# siguiendo estos pasos:

  1. Upload the source and target Excel workbooks.
  2. Ejecutar comparación utilizando la API de GroupDocs.Comparison.
  3. Descargue el archivo resultante con los cambios resaltados.

Sube el libro de Excel

Para realizar la operación de comparación, primero necesitamos cargar los archivos XLSX de origen y destino en el almacenamiento en la nube utilizando el siguiente ejemplo 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 libros de Excel

Ahora use el siguiente fragmento de código para comparar dos libros de Excel. Una vez ejecutada, la API genera un nuevo libro de Excel que contiene los cambios resaltados entre las dos hojas de cálculo.

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 múltiples libros de Excel en C#

La API REST también ofrece la capacidad de comparar múltiples libros de Excel. Por favor, siga los pasos especificados a continuación.

  • Primero, crea una instancia de la CompareApi.
  • Secondly, upload the input Excel workbooks into cloud storage.
  • Ahora, inicializa el objeto ComparisonOptions donde definimos los libros de trabajo de Excel de entrada y resultado.
  • Entonces, crea un objeto de ComparisonsRequest donde pasamos el objeto ComparisonOptions como argumento.
  • Finalmente, compara libros de Excel usando Comparisons() llamada a la 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);
Cómo comparar datos en excel

Archivos Excel de origen y destino.

A continuación se muestra una vista previa del libro de trabajo resultante generado después de que se haya completado la comparación.

comparar archivos de Excel en C#.

Una vista previa de la comparación de Excel utilizando la API REST.

Obtener lista de cambios en C#

La API REST también ofrece las capacidades para obtener una lista de todos los cambios y comparar datos en las hojas de cálculo de Excel encontrados durante el proceso de comparación.

  • Primero, crea una instancia de la CompareApi.
  • A continuación, establece la ruta del archivo de entrada XLSX.
  • Luego, establece la ruta del archivo XLSX de destino.
  • A continuación, inicializa el objeto ComparisonOptions.
  • Luego, asigna los archivos de origen/destino y establece la ruta del archivo de salida.
  • Después de eso, crea el PostChangesRequest con el objeto ComparisonOptions como argumento.
  • Finalmente, obtén los resultados llamando al 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}");
}

Prueba en línea

Si deseas probar las capacidades de la API directamente en un navegador web, sin escribir una sola línea de código, puedes considerar usar nuestra herramienta gratuita Online XLSX comparison tool. Esta herramienta de comparación de Excel compara 2 hojas de cálculo de Excel en línea y devuelve los resultados.

comparar archivos de excel en línea

Conclusión

En este artículo, demostramos cómo comparar libros de Excel en C# .NET, resaltar diferencias entre hojas de cálculo programáticamente, comparar múltiples archivos de Excel a la vez y cómo extraer una lista detallada de cambios en archivos de Excel. Con el GroupDocs.Comparison Cloud SDK para .NET, puedes automatizar la comparación de archivos de Excel para mejorar la precisión, ahorrar tiempo y optimizar los flujos de trabajo de validación de datos.

Enlaces útiles

Artículos Recomendados