Mescle vários arquivos do Excel em um usando a API REST no Node.js

Você pode combinar facilmente dois ou mais arquivos do Excel em um único arquivo programaticamente na nuvem. Pode ser necessário gerar relatórios com base nos dados disponíveis em vários arquivos, para que você possa mesclá-los em um único arquivo em seus aplicativos Node.js. Neste artigo, você aprenderá como mesclar vários arquivos do Excel em um arquivo usando uma API REST no Node.js.

Os seguintes tópicos serão abordados neste artigo:

API REST de fusão de arquivos e SDK Node.js

Para mesclar vários arquivos XLSX, usarei a API Node.js SDK of GroupDocs.Merger Cloud. Ele permite combinar, dividir, remover e reorganizar uma única página ou uma coleção de páginas de formatos de documento suportados, como Word, Excel, PowerPoint, desenhos do Visio, PDF e HTML.

Você pode instalar o GroupDocs.Merger Cloud em seu aplicativo Node.js usando o seguinte comando no console:

npm install groupdocs-merger-cloud

Obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

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";

Mesclar vários arquivos do Excel usando a API REST no Node.js

Você pode combinar dois ou mais arquivos do Excel programaticamente na nuvem seguindo as etapas simples mencionadas abaixo:

Carregar os arquivos do Excel

Em primeiro lugar, carregue os arquivos do Excel para a nuvem usando o exemplo de código abaixo:

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

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // ler arquivos um por um
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // criar solicitação de upload de arquivo
      let request = new groupdocs_merger_cloud.UploadFileRequest(file, fileStream, myStorage);
      // subir arquivo
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Como resultado, os arquivos XLSX carregados estarão disponíveis na seção de arquivos do seu painel na nuvem.

Mesclar vários arquivos do Excel usando Node.js

Você pode mesclar facilmente vários arquivos do Excel em um único arquivo programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância do DocumentApi
  • Crie o primeiro JoinItem
  • Forneça o caminho do arquivo de entrada para o primeiro JoinItem no FileInfo
  • Crie o segundo JoinItem
  • Forneça o caminho do arquivo de entrada para o segundo JoinItem no FileInfo
  • Crie as opções de junção
  • Adicionar lista separada por vírgulas de itens de junção criados
  • Defina o caminho do arquivo de saída
  • Criar JoinRequest com JoinOptions
  • Obtenha resultados chamando o método join() da DocumentAPI

O trecho de código a seguir mostra como mesclar vários arquivos do Excel usando uma API REST no Node.js.

// inicialização da API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// criar primeiro item de junção
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// criar segundo item de junção
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";

// criar opções de junção
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// criar pedido de adesão
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Mesclar vários arquivos do Excel usando uma API REST no Node.js

Mesclar vários arquivos do Excel usando uma API REST no Node.js

Baixe o arquivo mesclado

O exemplo de código acima salvará o arquivo Excel mesclado na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

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

// criar solicitação de download de arquivo
let request = new groupdocs_merger_cloud.DownloadFileRequest("Output/joined.xlsx", myStorage);

// ⇬ Fazer download do arquivo
let response = await fileApi.downloadFile(request);

// salve o arquivo de saída em seu diretório de trabalho
fs.writeFile("C:\\Files\\joined.xlsx", response, "binary", function (err) { });
console.log(response);

Mesclar planilhas específicas do Excel usando Node.js

Você pode facilmente mesclar planilhas específicas do Excel de vários arquivos do Excel em um único arquivo programaticamente, seguindo as etapas mencionadas abaixo:

  • Crie uma instância do DocumentApi
  • Crie o primeiro JoinItem
  • Forneça o caminho do arquivo de entrada para o primeiro JoinItem no FileInfo
  • Crie o segundo JoinItem
  • Forneça o caminho do arquivo de entrada para o segundo JoinItem no FileInfo
  • Crie as opções de junção
  • Defina o número da folha inicial e o número da folha final
  • Defina o caminho do arquivo de saída
  • Criar JoinRequest com JoinOptions
  • Obtenha resultados chamando o método join() da DocumentAPI

O trecho de código a seguir mostra como mesclar planilhas específicas do Excel de vários arquivos usando uma API REST no Node.js.

// inicialização da API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// criar primeiro item de junção
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// criar segundo item de junção
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

// criar opções de junção
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// criar pedido de adesão
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Mescle planilhas específicas do Excel usando uma API REST no Node.js

Mescle planilhas específicas do Excel usando uma API REST no Node.js

Experimente on-line

Experimente a seguinte ferramenta de mesclagem XLSX on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/merger/xlsx

Conclusão

Neste artigo, você aprendeu como mesclar vários arquivos do Excel na nuvem. Você também aprendeu como mesclar planilhas específicas do Excel em um arquivo usando uma API REST no Node.js. Além disso, você aprendeu como carregar arquivos XLSX programaticamente na nuvem e, em seguida, baixar o arquivo mesclado da nuvem. A API também permite que você reordene ou substitua páginas de documentos, altere a orientação da página, gerencie senhas de documentos e execute outras manipulações facilmente para qualquer formato de arquivo compatível. Ele também fornece SDKs .NET, Java, PHP, Ruby, Android e Python como seus membros da família de fusão de documentos para a Cloud API. Você pode aprender mais sobre GroupDocs.Merge Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também