在 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 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看