fusionar excel

Concatenar archivos de Excel (XLS, XLSX) en C# .NET

La combinación de archivos Excel puede ser una técnica útil para agilizar la gestión de datos. Ya sea que necesite consolidar informes de ventas, estados financieros o datos de clientes, la combinación de archivos de Excel puede ahorrarle tiempo y esfuerzo. En este artículo, exploraremos cómo concatenar archivos de Excel usando C# .NET y REST API. Cubriremos diferentes escenarios en los que la concatenación puede ser útil, como cuando tiene varios archivos con estructuras de datos similares o cuando necesita combinar datos de diferentes formatos. Aprenderá a escribir código simple y eficiente para automatizar el proceso de concatenación y evitar errores manuales. Entonces, sumerjámonos en el mundo de la concatenación de Excel y simplifiquemos su flujo de trabajo hoy.

Concatenar API REST de Excel

Si está buscando una manera eficiente y directa de concatenar archivos de Excel usando C# .NET, entonces Aspose.Cells Cloud SDK es una excelente opción. Ofrece una interfaz sencilla para fusionar XLS, XLSX y otros formatos de archivo mediante API REST. Al usar esta solución basada en la nube, puede eliminar la necesidad de instalar una infraestructura compleja de software y hardware. El SDK de Aspose.Cells Cloud para .NET también proporciona funciones como filas y columnas de ajuste automático, clasificación de datos y aplicación de formato a celdas combinadas. Al usar esta API, puede reducir significativamente el tiempo y el esfuerzo de desarrollo y mejorar la productividad.

Ahora, para usar el SDK, agregaremos su referencia en nuestra aplicación a través del administrador de paquetes NuGet. Simplemente busque “Aspose.Cells-Cloud” y presione el botón Agregar paquete. En segundo lugar, si no tiene una cuenta en Cloud Dashboard, cree una cuenta gratuita con una dirección de correo electrónico válida y obtenga sus credenciales de cliente personalizadas.

Combinar Excel usando C#

En esta sección, cargaremos dos hojas de trabajo desde el almacenamiento en la nube y luego fusionaremos el segundo libro de Excel con el primero.

// Para obtener ejemplos completos y archivos de datos, vaya a 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// Obtenga las credenciales del cliente de https://dashboard.aspose.cloud/
string clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
string clientID = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
        
// cree una instancia de CellsApi mientras pasa ClientID y ClientSecret
CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

// primer libro de trabajo Excle en la unidad
string first_Excel = "input.xls";
// nombre del segundo libro de Excel
string second_Excel = "myDocument.xlsx";

// crear un objeto de diccionario para contener libros de Excel de entrada
Dictionary<String, Stream> mapFiles = new Dictionary<string, Stream>();
mapFiles.Add(first_Excel, File.OpenRead(first_Excel));
mapFiles.Add(second_Excel, File.OpenRead(second_Excel));

// cargar archivos de Excel de entrada al almacenamiento en la nube
try
{
    foreach (KeyValuePair<String, Stream> dictionary in mapFiles)
    {
        // cargue cada libro de trabajo en el almacenamiento en la nube
        cellsInstance.UploadFile(dictionary.Key, dictionary.Value);
    }
}
catch(Exception ex)
{
    // cualquier excepción durante la carga de archivos al almacenamiento en la nube
    Console.Write(ex.StackTrace);
}
try
{    
    // inicializar la operación de combinación de Excel
    var response = cellsInstance.CellsWorkbookPostWorkbooksMerge(first_Excel, second_Excel, folder: null, storageName: null, mergedStorageName: null);

    // imprimir mensaje de éxito si la concatenación es exitosa
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("Concatenate Excel operation completed successfully !");
        Console.ReadKey();
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

Desarrollemos nuestra comprensión sobre el fragmento de código anterior:

CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

Cree un objeto de CellsApi mientras pasa las credenciales del cliente como argumentos.

Dictionary<String, Stream> mapFiles = new Dictionary<string, Stream>();

Cree un objeto de diccionario que contendrá los nombres y el contenido de los libros de trabajo de Excel de entrada

mapFiles.Add(first_Excel, File.OpenRead(first_Excel));

Agregue archivos de Excel de entrada al objeto de diccionario. Estamos agregando archivos en pares clave-valor.

foreach (KeyValuePair<String, Stream> dictionary in mapFiles)
{
    // upload each workbook to cloud storage
    cellsInstance.UploadFile(dictionary.Key, dictionary.Value);
}

Repita la instancia del diccionario y cargue cada libro de Excel en el almacenamiento en la nube.

// initialize the conversion operation
var response = cellsInstance.CellsWorkbookPostWorkbooksMerge(first_Excel, second_Excel, folder: null, storageName: null, mergedStorageName: null);

Llame al método para iniciar la operación de combinación de Excel. Todas las hojas de cálculo del segundo libro de Excel se combinan en el primer libro de Excel.

fusionar archivos de excel

Vista previa de libros de Excel combinados.

Los libros de trabajo de Excel utilizados en el ejemplo anterior se pueden descargar desde myDocument.xlsx y TestCase.xlsx respectivamente.

Combinar Excel usando comandos cURL

La combinación de archivos de Excel mediante la API REST es un enfoque excelente. Las API REST brindan una forma simple y eficiente de combinar archivos de Excel y se pueden integrar fácilmente con otras herramientas de software. Una de las principales fortalezas del uso de la API REST es la capacidad de trabajar con diferentes formatos de archivo, incluidos XLS, XLSX, CSV y más. Además, las API REST son altamente escalables y pueden manejar grandes conjuntos de datos, lo que las convierte en una excelente opción para la gestión de datos a nivel empresarial. Al combinar libros de trabajo de Excel con API REST, puede ahorrar tiempo y esfuerzos de desarrollo, mejorar la precisión de los datos y simplificar su flujo de trabajo.

Ahora, primero debemos generar un token de acceso JWT basado en las credenciales del cliente:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez que tengamos el token JWT, debemos usar la API PostWorkbooksMerge para combinar libros de Excel. El Excel fusionado permanecerá en el almacenamiento en la nube.

curl -v -X POST "https://api.aspose.cloud/v3.0/cells/TestCase.xlsx/merge?mergeWith=myDocument(1).xlsx" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Observaciones finales

En conclusión, la combinación de archivos de Excel con C# .NET y API REST es una forma efectiva de optimizar su proceso de administración de datos y aumentar la productividad. Ya sea que necesite consolidar datos de varias fuentes (XLS, XLSX, etc.) o automatizar tareas repetitivas, la concatenación de archivos de Excel puede ahorrarle tiempo y esfuerzo. Al aprovechar el poder de las API REST basadas en la nube, puede realizar tareas de manipulación de datos sin necesidad de instalaciones de software complejas o infraestructura de hardware. También hemos aprendido que los comandos CURL también se pueden usar para probar e integrar las API REST con otras herramientas de software. Por lo tanto, tanto si es un desarrollador principiante como si es un desarrollador experimentado, la combinación de archivos de Excel mediante la API REST y los comandos CURL es un enfoque que vale la pena considerar. Por último, siguiendo los sencillos pasos descritos en este artículo, puede comenzar a fusionar archivos de Excel con facilidad y agilizar su flujo de trabajo.

En caso de que tenga algún problema al usar la API, comuníquese con nosotros a través del foro de atención al cliente.

Artículos relacionados

Visite los siguientes enlaces para obtener más información sobre: