在 Node.js 中使用 REST API 将多个 Excel 文件合并为一个文件

您可以在云端以编程方式轻松地将两个或多个 Excel 文件组合成一个文件。您可能需要根据多个文件中的可用数据生成报告,因此您可以将它们合并到 Node.js 应用程序中的单个文件中。在本文中,您将了解如何使用 Node.js 中的 REST API 将多个 Excel 文件合并为一个文件。

本文应涵盖以下主题:

文件合并 REST API 和 Node.js SDK

为了合并多个 XLSX 文件,我将使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允许您从支持的文档格式(如 Word、Excel、PowerPoint, Visio 绘图、PDF 和 HTML)中组合、拆分、删除和重新排列单个页面或页面集合。

您可以在控制台中使用以下命令将 GroupDocs.Merger Cloud 安装到您的 Node.js 应用程序:

npm install groupdocs-merger-cloud

在执行上述步骤之前,请从 dashboard 获取您的 Client ID 和 Secret。获得 ID 和密码后,添加如下所示的代码:

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

在 Node.js 中使用 REST API 合并多个 Excel 文件

您可以按照下面提到的简单步骤,以编程方式在云上组合两个或多个 Excel 文件:

  • 上传 the Excel files to the Cloud
  • 合并 Multiple Excel files using Node.js
  • 下载 the merged file

上传 Excel 文件

首先,使用下面给出的代码示例将 Excel 文件上传到云端:

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

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // 一个一个地读取文件
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // 创建上传文件请求
      let request = new groupdocs_merger_cloud.UploadFileRequest(file, fileStream, myStorage);
      // 上传文件
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

因此,上传的 XLSX 文件将在云端仪表板的 文件部分 中可用。

使用 Node.js 合并多个 Excel 文件

您可以按照下面提到的步骤以编程方式轻松地将多个 Excel 文件合并到一个文件中:

  • 创建 DocumentApi 的实例
  • 创建第一个 JoinItem
  • 为 FileInfo 中的第一个 JoinItem 提供输入文件路径
  • 创建第二个 JoinItem
  • 为 FileInfo 中的第二个 JoinItem 提供输入文件路径
  • 创建加入选项
  • 添加逗号分隔的已创建连接项列表
  • 设置输出文件路径
  • 使用 JoinOptions 创建 JoinRequest
  • 通过调用 DocumentAPI 的 join() 方法获取结果

以下代码片段显示了如何在 Node.js 中使用 REST API 合并多个 Excel 文件。

// 接口初始化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// 创建第一个连接项
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// 创建第二个连接项
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";

// 创建连接选项
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// 创建加入请求
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
在 Node.js 中使用 REST API 合并多个 Excel 文件

在 Node.js 中使用 REST API 合并多个 Excel 文件

下载合并文件

上面的代码示例将合并后的 Excel 文件保存在云端。您可以使用以下代码示例下载它:

// 初始化接口
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);

// 创建文件下载请求
let request = new groupdocs_merger_cloud.DownloadFileRequest("Output/joined.xlsx", myStorage);

// 下载文件
let response = await fileApi.downloadFile(request);

// 将输出文件保存在您的工作目录中
fs.writeFile("C:\\Files\\joined.xlsx", response, "binary", function (err) { });
console.log(response);

使用 Node.js 合并特定的 Excel 工作表

您可以按照以下步骤以编程方式轻松地将多个 Excel 文件的特定 Excel 工作表合并到一个文件中:

  • 创建 DocumentApi 的实例
  • 创建第一个 JoinItem
  • 为 FileInfo 中的第一个 JoinItem 提供输入文件路径
  • 创建第二个 JoinItem
  • 为 FileInfo 中的第二个 JoinItem 提供输入文件路径
  • 创建加入选项
  • 定义开始图纸编号和结束图纸编号
  • 设置输出文件路径
  • 使用 JoinOptions 创建 JoinRequest
  • 通过调用 DocumentAPI 的 join() 方法获取结果

以下代码片段显示了如何使用 Node.js 中的 REST API 合并来自多个文件的特定 Excel 工作表。

// 接口初始化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// 创建第一个连接项
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// 创建第二个连接项
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

// 创建连接选项
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// 创建加入请求
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
在 Node.js 中使用 REST API 合并特定的 Excel 工作表

在 Node.js 中使用 REST API 合并特定的 Excel 工作表

在线试用

请试用以下免费的在线 XLSX 合并工具,它是使用上述 API 开发的。 https://products.groupdocs.app/merger/xlsx

结论

在本文中,您了解了如何在云端合并多个 Excel 文件。您还学习了如何使用 Node.js 中的 REST API 将特定的 Excel 工作表合并到一个文件中。此外,您还学习了如何以编程方式将 XLSX 文件上传到云端,然后从云端下载合并后的文件。 API 还使您能够重新排序或替换文档页面、更改页面方向、管理文档密码以及对任何支持的文件格式轻松执行其他操作。它还提供 .NET、Java、PHP、Ruby、Android 和 Python SDK 作为 Cloud API 的文档合并系列成员。您可以使用 文档 了解有关 GroupDocs.Merge Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看