在 Python 中使用 REST API 將多個 Excel 文件合併為一個文件。

您可能需要以編程方式將多個 Microsoft Excel 文件合併到一個文件中。通過將 Excel 文件組合在一起,您可以根據多個 Excel 文件中可用的數據輕鬆生成報告。作為 Python 開發人員,您可以將不同文件中的兩個或多個 Excel 工作簿或電子表格合併到一個工作簿中。在本文中,您將了解如何使用 Python 中的 REST API 將多個 Excel 文件合併為一個文件。

本文應涵蓋以下主題:

Excel 合併 REST API 和 Python SDK

為了合併多個 XLSX 文件,我將使用 GroupDocs.Merger Cloud 的 Python SDK API。它允許您從 WordExcelPowerPoint支持的文檔格式 中組合、拆分、刪除和重新排列單個頁面或一組頁面, Visio 繪圖PDFHTML

您可以在控制台中使用以下命令將 GroupDocs.Merger Cloud 安裝到您的 Python 應用程序:

pip install groupdocs-merger-cloud

在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

在 Python 中使用 REST API 合併多個 Excel 文件

您可以按照以下步驟在雲中以編程方式組合兩個或多個 Excel 文件:

  • 上傳 the Excel files to the Cloud
  • 合併 Multiple Excel files using Python
  • 下載 the merged file

上傳 Excel 文件

首先,使用下面給出的代碼示例將 Excel 文件上傳到雲端:

# 創建 API 實例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# 上傳示例文件
for filename in glob.iglob("C:\\Files\\upload\\*.xlsx", recursive=True):
    destFile = filename.replace("C:\\Files\\upload", "", 1)           
    # 檢查文件是否已經存在
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # 創建上傳文件請求
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # 上傳文件
        file_api.upload_file(request)

因此,上傳的 XLSX 文件將在雲端儀表板的 文件部分 中可用。

使用 Python 合併多個 Excel 文件

您可以按照下面提到的步驟以編程方式輕鬆地將多個 Excel 文件合併到一個文件中:

  • 創建 DocumentApi 的實例
  • 創建第一個 JoinItem
  • 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
  • 創建第二個 JoinItem
  • 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
  • 或者,重複上述步驟以添加更多文件
  • 創建加入選項
  • 添加逗號分隔的已創建連接項列表
  • 設置輸出文件路徑
  • 使用 JoinOptions 創建 JoinRequest
  • 使用 JoinRequest 調用 join() 方法

以下代碼示例展示瞭如何在 Python 中使用 REST API 合併多個 Excel 文件。

# 創建 API 實例
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)

# 定義第一個輸入文件
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")

# 定義第二個輸入文件
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")

# 定義連接選項
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined.xlsx"

# 創建加入請求
request = groupdocs_merger_cloud.JoinRequest(options)

# 加入文件
result = documentApi.join(request)

# 完畢
print("Documents merged: " + result.path)
在 Python 中使用 REST API 合併多個 Excel 文件

在 Python 中使用 REST API 合併多個 Excel 文件

下載合併文件

上面的代碼示例將合併後的 Excel 文件保存在雲端。您可以使用以下代碼示例下載它:

# API初始化
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# 創建下載文件請求
request = groupdocs_merger_cloud.DownloadFileRequest("joined.xlsx", my_storage)
response = file_api.download_file(request)

# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\")

使用 Python 合併特定的 Excel 工作表

您可以按照以下步驟以編程方式輕鬆地將多個 Excel 文件中的特定 Excel 工作表合併到一個文件中:

  • 創建 DocumentApi 的實例
  • 創建第一個 JoinItem
  • 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
  • 創建第二個 JoinItem
  • 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
  • 為第二個 JoinItem 定義開始表號和結束表號
  • (可選)定義範圍模式
  • 創建加入選項
  • 添加逗號分隔的已創建連接項列表
  • 設置輸出文件路徑
  • 使用 JoinOptions 創建 JoinRequest
  • 通過調用 DocumentAPI 的 join() 方法獲取結果

以下代碼片段顯示瞭如何在 Python 中使用 REST API 合併來自多個文件的特定 Excel 工作表。

# 創建 API 實例
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)

# 定義第一個輸入文件
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")

# 定義第二個輸入文件
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# 設置要合併的圖紙編號範圍
item2.start_page_number = 3
item2.end_page_number = 4
# 測距模式
item2.range_mode = "OddPages"

# 定義連接選項
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined_sheets.xlsx"

# 創建加入請求
request = groupdocs_merger_cloud.JoinRequest(options)

# 加入文件
result = documentApi.join(request)

# 完畢
print("Documents merged: " + result.path)
使用 Python 合併特定的 Excel 工作表

使用 Python 合併特定的 Excel 工作表

在線試用

請試用以下免費的在線 XLSX 合併工具,它是使用上述 API 開發的。 https://products.groupdocs.app/merger/xlsx

結論

在本文中,您了解瞭如何在雲端合併多個 Excel 文件。此外,您還了解瞭如何使用 Python 中的 REST API 將多個文件中的特定 Excel 工作表合併到一個文件中。本文還介紹瞭如何以編程方式將 XLSX 文件上傳到雲端,然後從雲端下載合併後的文件。 API 還使您能夠重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何支持的文件格式輕鬆執行其他操作。您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看