创建、管理、维护:Aspose.Cells 云管理 API 实用指南
创建一个空工作簿、重命名工作表、压缩臃肿的文件,或修复损坏的文件——这些都是在没有合适工具时仍然会占用开发者时间的小而日常的任务。
ManagementController将它们变成一行代码。
每个处理电子表格的应用程序最终都会遇到相同的乏味任务:
- 创建 一个新的空工作簿,随时生成——有时来自品牌模板。
- 重新排列工作表——添加、重命名、删除、重新排序——因为数据结构自昨天起已改变。
- 控制文件大小——将 40 MB 的 XLSX 压缩至 8 MB 再发送邮件。
- 恢复损坏的文件——用户保存错误的文件,或工具导出不良的文件。
- 检查结构——在不打开工作簿的情况下,了解其中包含哪些工作表、表格、图表以及合并单元格区域。
ManagementController 在 Aspose.Cells Cloud 微服务中(源代码位于 src/Aspose.Cells.Cloud.MicroService/Controllers/ManagementController.cs)在干净的 REST 接口后处理所有这些。本篇文章介绍了它的 15 个端点,并提供可直接粘贴到流水线中的可运行 cURL 示例。
1. ManagementController 是做什么的?
ManagementController 是专门负责 工作簿生命周期和维护 的控制器。不同于 ConversionController(format conversion),DataProcessingController(bulk merge/split/import),或 CellsController(cell-level read/write),此控制器关注的是工作簿本身的 shape, health, and metadata。
| 职责 | 典型端点 |
|---|---|
| 创建 工作簿,可选地使用模板 | spreadsheet/create |
| 检查 结构 — 工作表、合并单元格、完整结构 JSON | spreadsheet/worksheets, spreadsheet/mergedcells, spreadsheet/structure, {name}/worksheets/{worksheet}/mergedcells, {name}/structure |
| 修改 工作表布局 — 添加、删除、重命名、移动 | spreadsheet/add/worksheet, spreadsheet/delete/worksheet, spreadsheet/rename/worksheet, spreadsheet/move/worksheet |
| 维护 — 压缩、修复、接受修订 | spreadsheet/compress, spreadsheet/repair, spreadsheet/accept-all-revisions, {name}/accept-all-revisions |
每个端点都接受工作簿作为 multipart 输入(本地)或引用云存储中已有的工作簿(远程),并返回修改后的工作簿流、JSON 负载或一个简单的 OK。
2. 十五个端点概览
| # | HTTP | 路由 | 来源 | 功能 |
|---|---|---|---|---|
| 1 | PUT | /v4.0/cells/spreadsheet/create |
— | 创建一个新的工作簿,可选地使用模板 |
| 2 | PUT | /v4.0/cells/spreadsheet/worksheets |
本地 | 列出所有工作表(名称 + 类型) |
| 3 | PUT | /v4.0/cells/spreadsheet/add/worksheet |
本地 | 添加工作表,指定类型、名称和位置 |
| 4 | PUT | /v4.0/cells/spreadsheet/delete/worksheet |
本地 | 按名称删除工作表 |
| 5 | PUT | /v4.0/cells/spreadsheet/rename/worksheet |
本地 | 重命名工作表 |
| 6 | PUT | /v4.0/cells/spreadsheet/move/worksheet |
本地 | 将工作表移动到新的索引位置 |
| 7 | PUT | /v4.0/cells/spreadsheet/compress |
本地 | 压缩工作簿以减小大小 |
| 8 | PUT | /v4.0/cells/spreadsheet/repair |
本地 | 修复损坏的工作簿 |
| 9 | GET | /v4.0/cells/{name}/worksheets/{worksheet}/mergedcells |
云 | 列出远程工作表中的合并单元格区域 |
| 10 | PUT | /v4.0/cells/spreadsheet/mergedcells |
本地 | 列出本地工作表中的合并单元格区域 |
| 11 | PUT | /v4.0/cells/spreadsheet/accept-all-revisions |
本地 | 接受所有已跟踪的更改 |
| 12 | PUT | /v4.0/cells/{name}/accept-all-revisions |
云 | 接受远程文件中的所有已跟踪更改 |
| 13 | PUT | /v4.0/cells/spreadsheet/structure |
本地 | 获取完整结构的 JSON |
| 14 | GET | /v4.0/cells/{name}/structure |
云 | 获取远程文件的完整结构(JSON) |
| 15 | PUT | /v4.0/cells/spreadsheet/create |
— | (别名 — 参见 #1) |
路由假定主机
https://api.aspose.cloud。实际调用类似于https://api.aspose.cloud/v4.0/cells/...。
3. 开始之前:两个先决条件
-
获取凭证。 在 Aspose Cloud Dashboard 注册,创建一个 Application,获取
Client ID和Client Secret。SDK 会为您处理 JWT 交换;使用 cURL 时,您需要手动将它们换取 bearer 令牌。 -
安装 SDK — 或者直接使用 cURL。所有操作都是普通的 REST。
<!-- .NET -->
<PackageReference Include="Aspense.Cells-Cloud" Version="25.x" />
# Python
pip install asposecellscloud
4. 快速入门:创建新工作簿
PUT /v4.0/cells/spreadsheet/create 是控制器执行的最简单的操作之一,也是最有用的之一。它返回一个全新的工作簿文件。
cURL
# 1) Get a bearer token
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
# 2) Create an empty XLSX
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/create?format=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--output new_workbook.xlsx
| 参数 | 类型 | 默认 | 含义 |
|---|---|---|---|
format |
string | xlsx |
输出文件格式 — xlsx、xlsm、xlsb、ods 等。 |
template |
string | null |
可选的模板文件路径。提供后,新工作簿将使用模板的内容和格式进行初始化。 |
使用模板
如果您有品牌化的模板——页眉中的徽标、主题中的品牌颜色、预先格式化的 “Invoice” 表格——只需将其上传到云存储一次,然后将其路径作为 template 传递。
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/create?format=xlsx&template=templates/invoice_branded.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--output invoice_2026_09_001.xlsx
现在,您的应用程序可以生成已经外观正确的全新发票,而无需嵌入任何样式逻辑。
5. 演练:在工作簿中管理工作表
这四个端点处理工作簿的日常形状。让我们走一遍实际的序列:您已经上传了工作簿,需要列出其工作表,添加一个新工作表,重命名已有的工作表,并删除第三个工作表。
5a. 列出工作表
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/worksheets" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "file=@my_workbook.xlsx"
Response:
[
{ "WorksheetName": "Sheet1", "SheetType": "Worksheet" },
{ "WorksheetName": "Data", "SheetType": "Worksheet" },
{ "WorksheetName": "Chart1", "SheetType": "Chart" }
]
5b. 添加新工作表
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/add/worksheet?sheetType=Worksheet&position=1&sheetName=Summary" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@my_workbook.xlsx" \
--output updated.xlsx
| 参数 | 类型 | 默认 | 含义 |
|---|---|---|---|
sheetType |
string | Worksheet |
新工作表的类型 — Worksheet、Chart 等 |
position |
int | end | 插入新工作表的 0 基索引位置 |
sheetName |
string | auto | 为新工作表指定的名称 |
5c. 重命名工作表
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/rename/worksheet?sourceName=Sheet1&targetName=Overview" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@my_workbook.xlsx" \
--output updated.xlsx
5d. 删除工作表
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/delete/worksheet?sheetName=Chart1" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@my_workbook.xlsx" \
--output updated.xlsx
5e. 移动工作表
# Move "Data" to position 0 (front of the workbook)
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/move/worksheet?worksheet=Data&position=0" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@my_workbook.xlsx" \
--output updated.xlsx
每个这些端点都遵循相同的模式:以 multipart 方式上传工作簿,获取修改后的工作簿。将它们链接在您的流水线中,或在 UI 中临时调用它们。
6. 操作指南:压缩臃肿的工作簿
用户给你发送了一份 40 MB 的 XLSX,其中 90% 是冗余的 XML。PUT /v4.0/cells/spreadsheet/compress 可以将其压缩。
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/compress?level=9" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@bloated.xlsx" \
--output slim.xlsx
| 参数 | 类型 | 含义 |
|---|---|---|
level |
int | 压缩强度。0 = 无压缩,9 = 最大压缩。 |
在典型的 40 MB 工作簿上,9 级通常会落在 6–10 MB 范围内。内容保持不变;仅对 XLSX 容器的 ZIP 压缩进行了加强。
7. 操作指南:修复损坏的工作簿
有时您会收到 Excel 拒绝打开的文件。PUT /v4.0/cells/spreadsheet/repair 会运行引擎的恢复例程并返回一个干净的版本。
curl -X PUT "https://api.aspose.cloud/v4.0/cells/spreadsheet/repair" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@broken.xlsx" \
--output repaired.xlsx
无参数。控制器通过引擎重新序列化工作簿,丢弃损坏的部分并写入结构上有效的文件。并非所有损坏都能恢复,但这能处理常见情况——截断的 ZIP 条目、无效的单元格引用、格式错误的共享字符串。
8. 关键收益概述
- 一个用于生命周期操作的控制器。 创建、重构、压缩、修复、检查——全部在同一个身份验证模型和错误合约下完成。
- 模板感知创建。 不必在应用中重新实现样式;让服务器在每个新工作簿中嵌入模板。
- 本地和远程变体。 无论文件位于用户浏览器中还是已经在云存储中,逻辑保持一致。
- 结构检查。
structure端点返回工作表、表格、数据透视表、图表和形状的完整 JSON 映射——非常适合驱动 UI 或验证流水线。 - 零基础设施。 无需安装 Excel,无需 COM,无需维护服务器。