在 Python 中使用 REST API 编辑 Excel 工作表。

Excel 是最流行和使用最广泛的电子表格应用程序之一。它使我们能够以表格形式组织、分析和存储数据。我们可以使用 Python 轻松地添加、编辑或删除 Excel 文件的内容。在本文中,我们将学习如何在 Python 中使用 REST API 编辑 Excel 工作表。

本文应涵盖以下主题:

Excel 电子表格编辑器 REST API 和 Python SDK

为了修改 XLSX 文件,我们将使用 GroupDocs.Editor Cloud 的 Python SDK API。它允许编辑 支持的格式 的文档。请在控制台中使用以下命令安装它:

pip install groupdocs_editor_cloud

在执行上述步骤之前,请从仪表板获取您的客户端 ID 和密码。获得 ID 和密码后,添加如下所示的代码:

# 此代码示例演示如何在代码中添加您的客户端 ID 和密码。
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
my_storage = ""

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

在 Python 中使用 REST API 编辑 Excel 文件

我们可以按照下面给出的简单步骤来编辑 Excel 文件:

  1. 上传XLSX文件到云端
  2. 编辑 Excel电子表格数据
  3. 下载更新后的文件

上传文件

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

# 此代码示例演示如何将 Excel 文件上传到云端。
# 创建 API 实例
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# 上传示例文件
request = groupdocs_editor_cloud.UploadFileRequest("sample.xlsx", "C:\\Files\\\Editor\\sample.xlsx", my_storage)
response = file_api.upload_file(request)

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

在 Python 中编辑 Excel 电子表格数据

我们可以按照以下步骤编辑 Excel 工作表的内容:

  • 首先,创建 FileApiEditApi 的实例。
  • 接下来,提供上传的 XLSX 文件路径。
  • 然后,将该文件下载为 HTML 文档。
  • 接下来,将下载的 HTML 文件作为字符串读取。
  • 然后,编辑 HTML 并保存更新后的 HTML 文档。
  • 之后,上传更新后的 HTML 文件。
  • 最后,使用 EditApi.save() 方法将 HTML 保存回 XLSX。

以下代码示例展示了如何在 Python 中使用 REST API 编辑 Excel 工作表数据。

# 此代码示例演示如何编辑 Excel 工作表的内容。
# API初始化
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# 将上传的文档加载到可编辑状态
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# 定义电子表格加载选项
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# 提供输出文件夹路径 
loadOptions.output_path = "output"
# 提供工作表索引进行编辑
loadOptions.worksheet_index = 0
# 装入纸张
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# 下载 html 文件
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

with open(htmlFile, 'r') as file:
    html = file.read()

# 编辑一些东西...    
html = html.replace("Welcome", "This is a sample sheet!")

# 将 html 上传回存储
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# 将 html 保存回 xlsx
saveOptions = groupdocs_editor_cloud.SpreadsheetSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.xlsx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# 完毕
print("Document edited: " + saveResult.path)
在 Python 中使用 REST API 编辑 Excel 文件。

在 Python 中使用 REST API 编辑 Excel 文件。

下载更新文件

上面的代码示例会将编辑后的 Excel 文件 (XLSX) 保存在云端。可以使用以下代码示例下载它:

# 此代码示例演示如何下载更新的 Excel 文件。
# API初始化
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# 下载文件
request = groupdocs_editor_cloud.DownloadFileRequest("edited.xlsx", my_storage)
response = file_api.download_file(request)

# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\Editor\\")

使用 Python 在 Excel 工作表中添加表格

我们可以按照前面提到的步骤在Excel工作表中添加表格。但是,我们需要更新 HTML 以在文档中添加一个表格,如下所示:

html = html.replace("</TABLE>", """</TABLE> <br/><table style="width: 100%;background-color: #dddddd;border: 1px solid black;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th style="background-color: #04AA6D; color: white;">First Name</th><th style="background-color: #04AA6D; color: white;">Last Name</th><th style="background-color: #04AA6D; color: white;">Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")

以下代码示例展示了如何在 Python 中使用 REST API 在 Excel 电子表格中添加表格。请按照前面提到的步骤上传和下载文件。

# 此代码示例演示如何编辑 Excel 工作表和插入新表格。
# API初始化
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# 将上传的文档加载到可编辑状态
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# 定义电子表格加载选项
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# 提供输出文件夹路径 
loadOptions.output_path = "output"
# 提供工作表索引进行编辑
loadOptions.worksheet_index = 0
# 装入纸张
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# 下载 html 文件
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

with open(htmlFile, 'r') as file:
    html = file.read()

# 插入表格  
html = html.replace("</TABLE>", """</TABLE> <br/><table style="width: 100%;background-color: #dddddd;border: 1px solid black;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th style="background-color: #04AA6D; color: white;">First Name</th><th style="background-color: #04AA6D; color: white;">Last Name</th><th style="background-color: #04AA6D; color: white;">Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")

# 将 html 上传回存储
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# 将 html 保存回 xlsx
saveOptions = groupdocs_editor_cloud.SpreadsheetSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.xlsx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# 完毕
print("Document edited: " + saveResult.path)
使用 Python 在 Excel 工作表中添加表格。

使用 Python 在 Excel 工作表中添加表格。

在线试用

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

结论

在本文中,我们了解到:

  • 如何在云端编辑Excel表格数据;
  • 如何使用 Python 在 Excel 工作表中添加表格;
  • 上传Excel文件到云端;
  • 如何从云端下载更新的 Excel 文件。

此外,您可以使用 文档 了解有关 GroupDocs.Editor Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看