将 Excel 转换为 HTML
Aspose.Cells Cloud 提供了一个功能强大的 REST 端点,可将 Excel 工作簿(XLS、XLSX、CSV 等)转换为 HTML 文档。该操作将返回一个 FileInfo 对象,其中包含生成的 HTML 文件(文件名、大小和 Base64 编码的内容)。
前提条件
| 要求 | 满足方式 |
|---|---|
| Aspose Cloud 账户 | 在 aspose.cloud 注册账户。 |
| JWT 访问令牌 | 通过 OAuth 2.0 的 POST /connect/token 端点获取承载令牌(bearer token)。 |
| 存储(可选) | 如果希望 API 从特定存储读取或写入文件,请先创建该存储(例如 Amazon S3、Azure Blob 或 Aspose Cloud 存储)。 |
| cURL / SDK | 任意支持 multipart/form-data 的 HTTP 客户端(如 cURL、Postman 或 Aspose.Cells SDK)。 |
身份验证
所有 Aspose.Cells Cloud 请求均需使用 JWT 令牌身份验证。
Authorization: Bearer <access-token>
令牌必须包含在每个请求的 Authorization 请求头中。
端点
POST https://api.aspose.cloud/v3.0/cells/convert/html
注意:请求必须以
multipart/form-data格式发送。Excel 文件必须作为 multipart 正文的第一个部分提供。
安全与身份验证
Aspose.Cells Cloud API 是安全的,需使用 JWT 令牌身份验证。
请求参数
查询参数
| 名称 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
password |
string | 否 | – | 打开受保护工作簿所需的密码。 |
storageName |
string | 否 | – | 源文件所在存储的名称。 |
checkExcelRestriction |
boolean | 否 | true |
设置为 true 时,服务将验证 Excel 特定限制(例如受保护工作表)。 |
region |
string | 否 | – | 工作簿的区域设置(例如 zh-CN)。 |
FontsLocation |
string | 否 | – | 包含渲染所需自定义字体的文件夹 URL 或路径。 |
表单数据(multipart)
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| File | file | 是 | 要转换的 Excel 工作簿。必须作为 multipart 请求的第一个部分提供。 |
请求示例(cURL)
curl -X POST "https://api.aspose.cloud/v3.0/cells/convert/html?checkExcelRestriction=true" \
-H "accept: multipart/form-data" \
-H "Authorization: Bearer <access-token>" \
-H "Content-Type: multipart/form-data" \
-F "File=@/path/to/your_workbook.xlsx"
成功响应
状态码: 200 OK
| 字段 | 类型 | 描述 |
|---|---|---|
Filename |
string | 生成的 HTML 文件名(例如 example.html)。 |
FileSize |
int | HTML 文件大小(单位:字节)。 |
FileContent |
string | Base64 编码的 HTML 内容。 |
{
"Filename": "example.html",
"FileSize": 12345,
"FileContent": "base64_encoded_string"
}
响应结构由 FileInfo 模型定义:/cells/file-info。
错误响应
| 状态码 | 含义 | 示例载荷 |
|---|---|---|
400 |
请求无效 – 缺少或无效的参数 | json { "Code": "BadRequest", "Message": "必须提供 'File' 部分。" } |
401 |
未授权 – 无效或缺失的 JWT 令牌 | json { "Code": "InvalidToken", "Message": "访问令牌缺失或已过期。" } |
404 |
未找到 – 在指定存储中未找到源文件 | json { "Code": "FileNotFound", "Message": "文件 'my.xlsx' 不存在于存储 'MyStorage' 中。" } |
413 |
载荷过大 – 上传的文件超过允许的大小 | json { "Code": "RequestEntityTooLarge", "Message": "上传的文件超过 100 MB 限制。" } |
429 |
请求过多 – 超出速率限制 | json { "Code": "TooManyRequests", "Message": "超出每分钟 60 次调用的速率限制。" } |
500 |
服务器内部错误 – 意外服务器条件 | json { "Code": "InternalError", "Message": "发生意外错误。请稍后重试。" } |
速率限制
| 限制项 | 描述 |
|---|---|
| 每账户每分钟 60 个请求(默认) | 超出限制将返回 429 Too Many Requests。请调整客户端逻辑,或通过 Aspose Cloud 门户申请更高配额。 |
SDK 支持
Aspose 提供了针对多种编程语言的官方 SDK,封装了该端点的功能。以下示例展示了使用官方 SDK 实现相同转换的方式。
| 语言 | 示例 |
|---|---|
| C# | 查看示例csharp\nusing Aspose.Cells.Cloud.SDK.Api;\nusing Aspose.Cells.Cloud.SDK.Model;\n\nvar apiInstance = new ConversionApi();\nvar file = File.ReadAllBytes("your.xlsx");\nvar result = apiInstance.PostConvertWorkbookToHtml(file, password: null, checkExcelRestriction: true);\nConsole.WriteLine(result.Filename);\n |
| Java | 查看示例java\nConversionApi api = new ConversionApi();\nFile file = new File("your.xlsx");\nFileInfo info = api.postConvertWorkbookToHtml(file, null, true);\nSystem.out.println(info.getFilename());\n |
| Python | 查看示例python\nfrom asposecellscloud import ConversionApi\napi = ConversionApi()\nwith open('your.xlsx', 'rb') as f:\n file_info = api.post_convert_workbook_to_html(file=f.read())\nprint(file_info.filename)\n |
| Node.js | 查看示例javascript\nconst { ConversionApi } = require('asposecellscloud');\nconst api = new ConversionApi();\nconst fs = require('fs');\napi.postConvertWorkbookToHtml({ File: fs.createReadStream('your.xlsx') })\n .then(info => console.log(info.Filename));\n |
| Go | 查看示例go\nimport (\n "asposecellscloud"\n "os"\n)\nfunc main() {\n api := asposecellscloud.NewConversionApi()\n f, _ := os.Open("your.xlsx")\n info, _ := api.PostConvertWorkbookToHtml(f, nil, true)\n fmt.Println(info.Filename)\n}\n |
| PHP | 查看示例php\nuse Aspose\Cells\ConversionApi;\n$api = new ConversionApi();\n$file = fopen('your.xlsx', 'r');\n$info = $api->postConvertWorkbookToHtml($file);\necho $info->getFilename();\n |
| Ruby | 查看示例ruby\nrequire 'aspose_cells_cloud'\napi = AsposeCellsCloud::ConversionApi.new\nfile = File.open('your.xlsx')\ninfo = api.post_convert_workbook_to_html(file: file)\nputs info.filename\n |
| Perl | 查看示例perl\nuse Aspose::Cells::ConversionApi;\nmy $api = Aspose::Cells::ConversionApi->new();\nopen my $fh, '<', 'your.xlsx' or die $!;\nmy $info = $api->post_convert_workbook_to_html(file => $fh);\nprint $info->{Filename};\n |
有关支持的 SDK 完整列表和安装说明,请参阅 Aspose.Cells Cloud SDKs 仓库:https://github.com/aspose-cells-cloud。
相关端点
| 端点 | 描述 |
|---|---|
POST /cells/{name}/saveAs |
将现有 Excel 文件直接另存为 HTML(或其他格式)至存储中。 |
PUT /cells/convert |
转换工作簿为 HTML 并提供额外的转换选项;结果将返回于响应体中。 |
GET /cells/{name} |
检索已存储为 HTML(或其他格式)的工作簿,支持可选查询参数。 |
常见问题
问: 调用 Excel 转 HTML 转换 API 时如何进行身份验证?
答: 在请求中包含 Authorization: Bearer <access-token> 请求头,令牌需从 OAuth 2.0 /connect/token 端点获取。
问: FileInfo 响应包含哪些内容?
答: 三个字段:Filename(字符串)、FileSize(整数,单位:字节)和 FileContent(Base64 编码的 HTML 内容)。
问: 可能遇到哪些错误代码?
答: 400(请求无效)、401(未授权)、404(文件未找到)、413(载荷过大)、429(请求过多)、500(服务器内部错误)。每种错误均返回包含 Code 和 Message 字段的 JSON 载荷。
问: 是否可以指定自定义字体位置?
答: 是的。使用 FontsLocation 查询参数指向包含所需字体的文件夹或 URL。
问: 此操作是否存在速率限制?
答: 默认限制为 每账户每分钟 60 次调用。超出限制将返回 429 Too Many Requests。
JSON-LD 面包屑导航(结构化数据)
添加此代码块可提升 SEO,使搜索结果中显示富片段面包屑导航。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "首页", "item": "https://docs.aspose.cloud/" },
{ "@type": "ListItem", "position": 2, "name": "开发者中心", "item": "https://docs.aspose.cloud/cells/" },
{ "@type": "ListItem", "position": 3, "name": "转换", "item": "https://docs.aspose.cloud/cells/conversion/" },
{ "@type": "ListItem", "position": 4, "name": "Excel 转 HTML", "item": "https://docs.aspose.cloud/cells/convert-excel-file-to-html-file/" }
]
}
</script>
变更日志
| 版本 | 日期 | 变更内容 |
|---|---|---|
| v3.0 | 2024-10-01 | 初始公开发布 PostConvertWorkbookToHtml。 |
| v3.1 | 2025-04-15 | 新增 region 和 FontsLocation 查询参数;更新错误载荷格式。 |
| v3.2 | 2026-03-20 | 引入速率限制文档和示例错误响应。 |