Combine varios archivos de Excel en uno usando la API REST en Node.js

Puede combinar fácilmente dos o más archivos de Excel en un solo archivo mediante programación en la nube. Es posible que deba generar informes basados en los datos disponibles en varios archivos, de modo que pueda fusionarlos en un solo archivo en sus aplicaciones de Node.js. En este artículo, aprenderá a fusionar varios archivos de Excel en un solo archivo mediante una API REST en Node.js.

En este artículo se tratarán los siguientes temas:

API REST de fusión de archivos y SDK de Node.js

Para fusionar varios archivos XLSX, utilizaré la API Node.js SDK de GroupDocs.Merger Cloud. Le permite combinar, dividir, eliminar y reorganizar una sola página o una colección de páginas de formatos de documentos compatibles, como Word, Excel, PowerPoint, dibujos de Visio, PDF y HTML.

Puede instalar GroupDocs.Merger Cloud en su aplicación Node.js usando el siguiente comando en la consola:

npm install groupdocs-merger-cloud

Obtenga su ID de cliente y secreto del panel de control antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Combine varios archivos de Excel usando la API REST en Node.js

Puede combinar dos o más archivos de Excel mediante programación en la nube siguiendo los sencillos pasos que se mencionan a continuación:

  • Subir the Excel files to the Cloud
  • Unir Multiple Excel files using Node.js
  • Descargar the merged file

Sube los archivos de Excel

En primer lugar, suba los archivos de Excel a la nube usando el ejemplo de código que se muestra a continuación:

// construir FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // leer archivos uno por uno
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // crear solicitud de carga de archivo
      let request = new groupdocs_merger_cloud.UploadFileRequest(file, fileStream, myStorage);
      // subir archivo
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Como resultado, los archivos XLSX cargados estarán disponibles en la sección de archivos de su tablero en la nube.

Combinar varios archivos de Excel con Node.js

Puede fusionar fácilmente varios archivos de Excel en un solo archivo mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de DocumentApi
  • Crear el primer JoinItem
  • Proporcione la ruta del archivo de entrada para el primer JoinItem en FileInfo
  • Crea el segundo JoinItem
  • Proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo
  • Crear las opciones de unión
  • Agregue una lista separada por comas de los elementos de unión creados
  • Establecer la ruta del archivo de salida
  • Crear JoinRequest con JoinOptions
  • Obtenga resultados llamando al método join() de DocumentAPI

El siguiente fragmento de código muestra cómo fusionar varios archivos de Excel mediante una API REST en Node.js.

// inicialización de la API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// crear el primer elemento de unión
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// crear un segundo elemento de unión
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";

// crear opciones de unión
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// crear solicitud de unión
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Combine varios archivos de Excel usando una API REST en Node.js

Combine varios archivos de Excel usando una API REST en Node.js

Descargar el archivo combinado

El ejemplo de código anterior guardará el archivo de Excel fusionado en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

// inicializar API
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);

// crear solicitud de descarga de archivo
let request = new groupdocs_merger_cloud.DownloadFileRequest("Output/joined.xlsx", myStorage);

// descargar archivo
let response = await fileApi.downloadFile(request);

// guarde el archivo de salida en su directorio de trabajo
fs.writeFile("C:\\Files\\joined.xlsx", response, "binary", function (err) { });
console.log(response);

Combinar hojas de Excel específicas usando Node.js

Puede combinar fácilmente hojas de Excel específicas de varios archivos de Excel en un solo archivo mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de DocumentApi
  • Crear el primer JoinItem
  • Proporcione la ruta del archivo de entrada para el primer JoinItem en FileInfo
  • Crea el segundo JoinItem
  • Proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo
  • Crear las opciones de unión
  • Definir el número de hoja inicial y el número de hoja final
  • Establecer la ruta del archivo de salida
  • Crear JoinRequest con JoinOptions
  • Obtenga resultados llamando al método join() de DocumentAPI

El siguiente fragmento de código muestra cómo fusionar hojas de Excel específicas de varios archivos mediante una API REST en Node.js.

// inicialización de la API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// crear el primer elemento de unión
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// crear un segundo elemento de unión
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";
item2.startPageNumber = 3
item2.endPageNumber = 4

// crear opciones de unión
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// crear solicitud de unión
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Combine hojas de Excel específicas usando una API REST en Node.js

Combine hojas de Excel específicas usando una API REST en Node.js

Prueba en línea

Pruebe la siguiente herramienta gratuita de fusión XLSX en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/merger/xlsx

Conclusión

En este artículo, ha aprendido a fusionar varios archivos de Excel en la nube. También aprendió cómo fusionar hojas de Excel específicas en un solo archivo usando una API REST en Node.js. Además, aprendió cómo cargar archivos XLSX en la nube mediante programación y luego descargar el archivo combinado de la nube. La API también le permite reordenar o reemplazar páginas de documentos, cambiar la orientación de la página, administrar contraseñas de documentos y realizar otras manipulaciones fácilmente para cualquier formato de archivo compatible. También proporciona SDK de .NET, Java, PHP, Ruby, Android y Python como miembros de la familia de fusión de documentos para la API de la nube. Puede obtener más información sobre GroupDocs.Merge Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también