在 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 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看