push表格开放接口文档 V1.0
点击展开版本更新日志
1.0 接口更新日期:2026-08-13
首次发布:表格列表、创建、内容读写、按区域写入单元格、发布、重命名、删除、分享设置
说明:保存仅写草稿,需publish后分享页才同步;开放响应使用表格专用 VO1.0.1 文档更新日期:2026-08-13
补充获取/保存内容接口中contentJSON 各字段说明
开放接口路径/open/sheet调整为/open/excel;分享页地址调整为/push/excel/{docCode}
点击查看目录
文档说明
push表格是 pushplus 提供的在线表格能力。开放接口用于通过程序管理自己的表格(创建、写入内容、按区域写单元格、发布、分享等),鉴权方式与 pushplus 开放接口 一致:先获取 AccessKey,再在请求头携带 access-key。
AccessKey 的申请、安全 IP、secretKey 配置与主站开放接口相同,请先阅读 开放接口文档 - 获取AccessKey。
表格开放接口的基础地址为:
https://www.pushplus.plus/push/api
分享页地址形如:https://www.pushplus.plus/push/excel/{docCode}(接口返回的 shareUrl 字段)。
可通过 saveContent / writeCells / publish 完成「写草稿 → 发布到分享页」。
鉴权说明
调用本章节接口时,需在 HTTP Header 中携带:
| Header 名称 | 是否必填 | 说明 |
|---|---|---|
| access-key | 是 | 通过主站 getAccessKey 接口获取的令牌 |
也可兼容 Header / Cookie 中的 pushToken(浏览器登录态),但程序调用请统一使用 access-key。
获取 AccessKey 示例(与主站相同):
- 请求地址:https://www.pushplus.plus/api/common/openApi/getAccessKey
- 请求方式:POST
- 请求参数:
{
"token": "d90******c20",
"secretKey": "qLc******gdk"
}
通用响应格式
{
"code": 200,
"msg": "请求成功",
"data": {}
}
| 字段 | 类型 | 说明 |
|---|---|---|
| code | 数字 | 业务状态码,200 表示成功 |
| msg | 字符串 | 提示信息 |
| data | 对象 | 业务数据;无业务数据时该字段可能不返回 |
类型与状态说明
sharePerm / shareLogin
| 字段 | 取值 | 说明 |
|---|---|---|
| sharePerm | 0 | 关闭分享 |
| sharePerm | 1 | 开启分享(仅可查看) |
| shareLogin | 0 | 免登录可打开分享页 |
| shareLogin | 1 | 需登录后打开分享页 |
perm
| 字段 | 取值 | 说明 |
|---|---|---|
| perm | 1 | 当前用户可查看 |
| perm | 2 | 当前用户可编辑 |
开放接口查询的是「我的表格」,因此列表与管理类接口返回的 perm 一般为 2。
草稿与发布
表格与文档一致,采用「草稿 / 发布快照」模型:
saveContent/writeCells只写入草稿,不影响已对外分享的内容publish将草稿同步为分享页快照- 开启分享且从未发布过时,系统会自动用当前草稿生成首版快照
| 字段 | 类型 | 说明 |
|---|---|---|
| published | 布尔 | 是否已发布过;true 表示分享页已有发布快照 |
| publishDirty | 布尔 | 草稿与发布快照是否不一致;保存草稿后未重新发布时为 true |
| publishTime | 字符串 | 最近发布时间;从未发布过时不返回该字段 |
表格内容格式
获取、保存接口中的 content 是 JSON 字符串(整表快照),须以 { 开头,最长约 2MB。解析后是一本工作簿:包含工作表顺序、各工作表单元格数据。只改局部单元格时,可改用 writeCells,不必每次提交整表。
空表可为 {}。行号、列号均为 从 0 开始:"0" 行 "0" 列对应 A1,"1" 行 "0" 列对应 A2,"0" 行 "1" 列对应 B1。
解析后的常用结构如下(保存时按此对象序列化为字符串再传入 content):
{
"id": "workbook-1",
"name": "销售日报",
"sheetOrder": ["sheet-1"],
"styles": {
"header": {
"fs": 11,
"bl": 1,
"bg": { "rgb": "#E8F1FF" },
"cl": { "rgb": "#1558D6" },
"ht": 2,
"vt": 2
}
},
"sheets": {
"sheet-1": {
"id": "sheet-1",
"name": "Sheet1",
"rowCount": 1000,
"columnCount": 20,
"defaultColumnWidth": 88,
"defaultRowHeight": 24,
"freeze": {
"xSplit": 0,
"ySplit": 1,
"startRow": 1,
"startColumn": 0
},
"columnData": {
"0": { "w": 120 },
"1": { "w": 100 }
},
"cellData": {
"0": {
"0": { "v": "日期", "t": 1, "s": "header" },
"1": { "v": "销售额", "t": 1, "s": "header" }
},
"1": {
"0": { "v": "2026-08-13", "t": 1 },
"1": { "v": 12800, "t": 2 }
},
"2": {
"0": { "v": "合计", "t": 1 },
"1": { "f": "=SUM(B2:B10)" }
}
}
}
}
}
工作簿根对象
| 参数名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 否 | 工作簿 ID。新建或自行构造时可自定义,读取时原样返回 |
| name | 字符串 | 否 | 工作簿名称,一般与表格标题一致 |
| sheetOrder | 数组 | 是(有多表时) | 工作表 ID 的显示顺序,如 ["sheet-1","sheet-2"]。标签栏按此顺序排列 |
| sheets | 对象 | 是 | 工作表集合。key 为工作表 ID,value 为该工作表对象,见下表 |
| styles | 对象 | 否 | 命名样式表。key 为样式名(如 header),单元格通过 s 引用。不设样式时可省略 |
sheets.{sheetId} 工作表对象
| 参数名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 工作表 ID,须与 sheets 的 key、以及 sheetOrder 中的值一致 |
| name | 字符串 | 是 | 工作表标签名,如 Sheet1。writeCells 的 sheetName 按此匹配 |
| rowCount | 数字 | 否 | 行数,默认约 1000。写入超出范围的单元格时会自动扩大 |
| columnCount | 数字 | 否 | 列数,默认约 20。同上,不足时会自动扩大 |
| defaultColumnWidth | 数字 | 否 | 默认列宽(像素) |
| defaultRowHeight | 数字 | 否 | 默认行高(像素) |
| freeze | 对象 | 否 | 冻结窗格。ySplit 为冻结行数,xSplit 为冻结列数;startRow / startColumn 为冻结后滚动起点(从 0 计) |
| columnData | 对象 | 否 | 列配置。key 为列序号(从 0 计,"0" 即 A 列)。w 为列宽(像素),hd 为是否隐藏(1 隐藏 / 0 显示) |
| rowData | 对象 | 否 | 行配置。key 为行序号(从 0 计)。h 为行高(像素),hd 为是否隐藏 |
| cellData | 对象 | 否 | 单元格数据。key 为行序号,内层 key 为列序号,value 为单元格对象,见下表 |
| mergeData | 数组 | 否 | 合并单元格区域列表。项如 { "startRow": 0, "startColumn": 0, "endRow": 0, "endColumn": 2 } 表示合并 A1:C1 |
cellData.{row}.{col} 单元格对象
| 参数名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| v | 字符串 / 数字 / 布尔 | 否 | 单元格显示值。文本用字符串,数字用数值(便于公式计算)。仅有公式、无固定值时可省略 |
| t | 数字 | 否 | 值类型:1 文本、2 数字、3 布尔、4 强制按文本。不传时由 v 的实际类型推断 |
| f | 字符串 | 否 | 公式,须以 = 开头,如 =SUM(B2:B10)、=A2+A3。有公式时表格会按公式计算结果写入显示值 |
| s | 字符串 / 对象 | 否 | 单元格样式。字符串时引用根对象 styles 中的样式名;也可直接写样式对象(字段同下表) |
只写值时,最小单元格为 { "v": "日期" } 或 { "v": 12800 }。writeCells 写入的单元格即为这种只含 v 的形式。
styles.{styleName} / 单元格 s 样式对象
| 参数名称 | 类型 | 说明 |
|---|---|---|
| ff | 字符串 | 字体,如 Arial、微软雅黑 |
| fs | 数字 | 字号,如 11 |
| bl | 数字 | 是否加粗:1 是 / 0 否 |
| it | 数字 | 是否斜体:1 是 / 0 否 |
| cl | 对象 | 文字颜色,如 { "rgb": "#1558D6" } |
| bg | 对象 | 背景色,如 { "rgb": "#E8F1FF" } |
| ht | 数字 | 水平对齐:1 左对齐、2 居中、3 右对齐 |
| vt | 数字 | 垂直对齐:1 顶端、2 居中、3 底端 |
| n | 对象 / 字符串 | 数字格式。常用如日期 yyyy-mm-dd、金额 0.00 |
读取接口返回的 content 可能还包含缩放、滚动位置、插件资源等附加字段,保存时可原样回传,自行构造时不必填写。
一. 我的表格分页
1. 使用说明
分页查询当前用户的表格列表,支持按关键词、是否已开启分享筛选。列表不返回正文内容。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/list
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
Content-Type: application/json
- 请求参数:
{
"pageNum": 1,
"pageSize": 10,
"keyword": "销售日报",
"shareEnabled": true
}
- 请求参数说明
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| pageNum | 否 | 1 | 页码,从 1 开始 |
| pageSize | 否 | 10 | 每页条数,最大 50 |
| keyword | 否 | 无 | 按标题关键词搜索 |
| shareEnabled | 否 | 无 | true 时仅返回已开启分享的表格;不传则全部 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"list": [
{
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 1,
"shareLogin": 1,
"perm": 2,
"published": true,
"publishTime": "2026-08-13 10:00:00",
"createTime": "2026-08-12 09:00:00",
"updateTime": "2026-08-13 10:00:00"
}
],
"total": 1,
"pageNum": 1,
"pageSize": 10
}
}
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| list | 列表 | 表格列表 |
| total | 数字 | 总记录数 |
| pageNum | 数字 | 当前页 |
| pageSize | 数字 | 每页条数 |
| list[].docCode | 字符串 | 表格分享码 |
| list[].shareUrl | 字符串 | 分享链接 |
| list[].title | 字符串 | 标题 |
| list[].sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看) |
| list[].shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录 |
| list[].perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| list[].published | 布尔 | 是否已发布过 |
| list[].publishTime | 字符串 | 最近发布时间;从未发布过时不返回 |
| list[].createTime | 字符串 | 创建时间 |
| list[].updateTime | 字符串 | 更新时间 |
二. 创建表格
1. 使用说明
创建空白表格。创建后默认关闭分享;可通过「保存内容 / 写入单元格」「发布」写入并对外同步。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/create
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
Content-Type: application/json
- 请求参数:
{
"title": "销售日报"
}
- 请求参数说明
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| title | 是 | 无 | 标题,最长 100 字 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 0,
"shareLogin": 1,
"perm": 2,
"published": false,
"publishDirty": false,
"createTime": "2026-08-13 12:00:00",
"updateTime": "2026-08-13 12:00:00"
}
}
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| docCode | 字符串 | 表格分享码 |
| shareUrl | 字符串 | 分享链接 |
| title | 字符串 | 标题 |
| sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看);新建默认为 0 |
| shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录;新建默认为 1 |
| perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| published | 布尔 | 是否已发布过;新建为 false |
| publishDirty | 布尔 | 草稿与发布快照是否不一致;新建为 false |
| publishTime | 字符串 | 最近发布时间;从未发布过时不返回 |
| createTime | 字符串 | 创建时间 |
| updateTime | 字符串 | 更新时间 |
三. 获取表格内容
1. 使用说明
按分享码获取当前用户自己的表格元信息与草稿正文。content 为整表 JSON 字符串,字段含义见上文「表格内容格式」。仅能读取自己创建的表格。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/content
- 请求方式:GET
- 请求 Header:
access-key: d7b******62f
- 请求参数(Query):
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 1,
"shareLogin": 1,
"perm": 2,
"published": true,
"publishDirty": true,
"publishTime": "2026-08-13 10:00:00",
"createTime": "2026-08-12 09:00:00",
"updateTime": "2026-08-13 12:30:00",
"content": "{\"id\":\"workbook-1\",\"name\":\"销售日报\",\"sheetOrder\":[\"sheet-1\"],\"sheets\":{\"sheet-1\":{\"id\":\"sheet-1\",\"name\":\"Sheet1\",\"rowCount\":1000,\"columnCount\":20,\"cellData\":{\"0\":{\"0\":{\"v\":\"日期\",\"t\":1},\"1\":{\"v\":\"销售额\",\"t\":1}},\"1\":{\"0\":{\"v\":\"2026-08-13\",\"t\":1},\"1\":{\"v\":12800,\"t\":2}}}}}}"
}
}
content 为 JSON 字符串,解析后等价于:
{
"id": "workbook-1",
"name": "销售日报",
"sheetOrder": ["sheet-1"],
"sheets": {
"sheet-1": {
"id": "sheet-1",
"name": "Sheet1",
"rowCount": 1000,
"columnCount": 20,
"cellData": {
"0": {
"0": { "v": "日期", "t": 1 },
"1": { "v": "销售额", "t": 1 }
},
"1": {
"0": { "v": "2026-08-13", "t": 1 },
"1": { "v": 12800, "t": 2 }
}
}
}
}
}
上例中:第 0 行第 0 列(A1)为文本「日期」,第 0 行第 1 列(B1)为「销售额」;第 1 行第 0 列(A2)为「2026-08-13」,第 1 行第 1 列(B2)为数字 12800。
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| docCode | 字符串 | 表格分享码 |
| shareUrl | 字符串 | 分享链接 |
| title | 字符串 | 标题 |
| sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看) |
| shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录 |
| perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| published | 布尔 | 是否已发布过 |
| publishDirty | 布尔 | 草稿与发布快照是否不一致 |
| publishTime | 字符串 | 最近发布时间;从未发布过时不返回 |
| createTime | 字符串 | 创建时间 |
| updateTime | 字符串 | 更新时间 |
| content | 字符串 | 整表草稿 JSON 字符串,解析后字段见上文「表格内容格式」 |
content 解析后字段(与保存接口相同)
工作簿根对象
| 参数名称 | 类型 | 说明 |
|---|---|---|
| id | 字符串 | 工作簿 ID |
| name | 字符串 | 工作簿名称 |
| sheetOrder | 数组 | 工作表 ID 显示顺序 |
| sheets | 对象 | 工作表集合,key 为工作表 ID |
| styles | 对象 | 命名样式表,可选 |
sheets.{sheetId} 工作表
| 参数名称 | 类型 | 说明 |
|---|---|---|
| id | 字符串 | 工作表 ID,与 key、sheetOrder 一致 |
| name | 字符串 | 工作表标签名,如 Sheet1 |
| rowCount | 数字 | 行数 |
| columnCount | 数字 | 列数 |
| defaultColumnWidth | 数字 | 默认列宽(像素) |
| defaultRowHeight | 数字 | 默认行高(像素) |
| freeze | 对象 | 冻结窗格:xSplit 冻结列数,ySplit 冻结行数,startRow / startColumn 为滚动起点(从 0 计) |
| columnData | 对象 | 列配置,key 为列序号("0" 即 A 列);w 列宽,hd 是否隐藏(1/0) |
| rowData | 对象 | 行配置,key 为行序号;h 行高,hd 是否隐藏 |
| cellData | 对象 | 单元格数据,外层 key 为行序号(从 0 计),内层 key 为列序号(从 0 计) |
| mergeData | 数组 | 合并区域,项含 startRow、startColumn、endRow、endColumn |
cellData.{row}.{col} 单元格
| 参数名称 | 类型 | 说明 |
|---|---|---|
| v | 字符串 / 数字 / 布尔 | 单元格值。文本用字符串,数字用数值 |
| t | 数字 | 值类型:1 文本、2 数字、3 布尔、4 强制文本;可省略 |
| f | 字符串 | 公式,以 = 开头,如 =SUM(B2:B10) |
| s | 字符串 / 对象 | 样式名(引用 styles)或样式对象 |
styles.{styleName} / 单元格 s 样式对象
| 参数名称 | 类型 | 说明 |
|---|---|---|
| ff | 字符串 | 字体 |
| fs | 数字 | 字号 |
| bl | 数字 | 加粗:1 是 / 0 否 |
| it | 数字 | 斜体:1 是 / 0 否 |
| cl | 对象 | 文字颜色,如 { "rgb": "#1558D6" } |
| bg | 对象 | 背景色,如 { "rgb": "#E8F1FF" } |
| ht | 数字 | 水平对齐:1 左、2 中、3 右 |
| vt | 数字 | 垂直对齐:1 顶、2 中、3 底 |
| n | 对象 / 字符串 | 数字格式,如日期、金额 |
四. 保存表格内容
1. 使用说明
整表覆盖保存草稿。content 为整表 JSON 字符串,字段含义与「获取表格内容」相同,见上文「表格内容格式」。保存后不影响分享页,需再调用「发布表格」才会同步对外内容。仅所有者可保存。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/saveContent
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
Content-Type: application/json
- 请求参数:
{
"docCode": "Sh3xY7kP",
"content": "{\"id\":\"workbook-1\",\"name\":\"销售日报\",\"sheetOrder\":[\"sheet-1\"],\"sheets\":{\"sheet-1\":{\"id\":\"sheet-1\",\"name\":\"Sheet1\",\"rowCount\":1000,\"columnCount\":20,\"cellData\":{\"0\":{\"0\":{\"v\":\"日期\",\"t\":1},\"1\":{\"v\":\"销售额\",\"t\":1}},\"1\":{\"0\":{\"v\":\"2026-08-13\",\"t\":1},\"1\":{\"v\":12800,\"t\":2}}}}}}"
}
content 传入前请先将对象序列化为字符串。对应对象示例:
{
"id": "workbook-1",
"name": "销售日报",
"sheetOrder": ["sheet-1"],
"sheets": {
"sheet-1": {
"id": "sheet-1",
"name": "Sheet1",
"rowCount": 1000,
"columnCount": 20,
"cellData": {
"0": {
"0": { "v": "日期", "t": 1 },
"1": { "v": "销售额", "t": 1 }
},
"1": {
"0": { "v": "2026-08-13", "t": 1 },
"1": { "v": 12800, "t": 2 }
}
}
}
}
}
自行构造时至少需要 sheetOrder、sheets,以及工作表的 id、name。单元格可只写 v;数字请传数值而不是字符串,便于后续公式计算。完整字段见上文「表格内容格式」。
- 请求参数说明
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
| content | 是 | 无 | 整表 JSON 字符串,须以 { 开头,最长约 2MB;解析后字段同「获取表格内容」 |
content JSON 字段(与获取接口相同)
工作簿根对象
| 参数名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 否 | 工作簿 ID,可自定义 |
| name | 字符串 | 否 | 工作簿名称 |
| sheetOrder | 数组 | 是 | 工作表 ID 显示顺序,如 ["sheet-1"] |
| sheets | 对象 | 是 | 工作表集合,key 须出现在 sheetOrder 中 |
| styles | 对象 | 否 | 命名样式表,单元格 s 可引用其中的 key |
sheets.{sheetId} 工作表
| 参数名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 工作表 ID,与 key、sheetOrder 一致 |
| name | 字符串 | 是 | 工作表标签名;writeCells 按此名称定位 |
| rowCount | 数字 | 否 | 行数,不足时写入会自动扩大 |
| columnCount | 数字 | 否 | 列数,不足时写入会自动扩大 |
| defaultColumnWidth | 数字 | 否 | 默认列宽(像素) |
| defaultRowHeight | 数字 | 否 | 默认行高(像素) |
| freeze | 对象 | 否 | 冻结窗格:xSplit / ySplit / startRow / startColumn |
| columnData | 对象 | 否 | 列配置:w 列宽,hd 是否隐藏 |
| rowData | 对象 | 否 | 行配置:h 行高,hd 是否隐藏 |
| cellData | 对象 | 否 | 单元格;"0"."0" 为 A1,"1"."0" 为 A2,"0"."1" 为 B1 |
| mergeData | 数组 | 否 | 合并区域:startRow、startColumn、endRow、endColumn |
cellData.{row}.{col} 单元格
| 参数名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| v | 字符串 / 数字 / 布尔 | 否 | 单元格值。文本用字符串,数字用数值 |
| t | 数字 | 否 | 1 文本、2 数字、3 布尔、4 强制文本 |
| f | 字符串 | 否 | 公式,以 = 开头,如 =SUM(B2:B10) |
| s | 字符串 / 对象 | 否 | 样式名或样式对象 |
样式对象(styles 或单元格 s)
| 参数名称 | 类型 | 说明 |
|---|---|---|
| ff | 字符串 | 字体 |
| fs | 数字 | 字号 |
| bl | 数字 | 加粗:1 是 / 0 否 |
| it | 数字 | 斜体:1 是 / 0 否 |
| cl | 对象 | 文字颜色 { "rgb": "#1558D6" } |
| bg | 对象 | 背景色 { "rgb": "#E8F1FF" } |
| ht | 数字 | 水平对齐:1 左、2 中、3 右 |
| vt | 数字 | 垂直对齐:1 顶、2 中、3 底 |
| n | 对象 / 字符串 | 数字格式 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 1,
"shareLogin": 1,
"perm": 2,
"published": true,
"publishDirty": true,
"publishTime": "2026-08-13 10:00:00",
"createTime": "2026-08-12 09:00:00",
"updateTime": "2026-08-13 12:30:00"
}
}
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| docCode | 字符串 | 表格分享码 |
| shareUrl | 字符串 | 分享链接 |
| title | 字符串 | 标题 |
| sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看) |
| shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录 |
| perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| published | 布尔 | 是否已发布过 |
| publishDirty | 布尔 | 草稿与发布快照是否不一致;已发布过再保存草稿后一般为 true |
| publishTime | 字符串 | 最近发布时间;从未发布过时不返回 |
| createTime | 字符串 | 创建时间 |
| updateTime | 字符串 | 更新时间 |
五. 按区域写入单元格
1. 使用说明
从指定起始单元格起,按二维数组向右向下写入单元格值。写入结果进入草稿,不影响分享页;需再调用「发布表格」才会同步。仅所有者可操作。
适用场景:定时任务追加一行数据、外部系统同步局部区域等,无需每次提交整表 JSON。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/writeCells
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
Content-Type: application/json
- 请求参数:
{
"docCode": "Sh3xY7kP",
"sheetName": "Sheet1",
"range": "A2",
"values": [
["2026-08-13", 12800],
["2026-08-14", 15600]
]
}
- 请求参数说明
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
| sheetName | 否 | 活动表/第一张表 | 工作表名称 |
| range | 是 | 无 | 起始单元格,如 A1;values 从此处向右向下展开 |
| values | 是 | 无 | 二维数组,外层为行、内层为列;最多 5000 行、200 列 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 1,
"shareLogin": 1,
"perm": 2,
"published": true,
"publishDirty": true,
"publishTime": "2026-08-13 10:00:00",
"createTime": "2026-08-12 09:00:00",
"updateTime": "2026-08-13 12:40:00"
}
}
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| docCode | 字符串 | 表格分享码 |
| shareUrl | 字符串 | 分享链接 |
| title | 字符串 | 标题 |
| sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看) |
| shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录 |
| perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| published | 布尔 | 是否已发布过 |
| publishDirty | 布尔 | 草稿与发布快照是否不一致;写入后一般为 true |
| publishTime | 字符串 | 最近发布时间;从未发布过时不返回 |
| createTime | 字符串 | 创建时间 |
| updateTime | 字符串 | 更新时间 |
六. 发布表格
1. 使用说明
将草稿同步为分享页快照。发布成功后 published 为 true,publishDirty 为 false,并写入 publishTime。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/publish
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
- 请求参数(Query):
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 1,
"shareLogin": 1,
"perm": 2,
"published": true,
"publishDirty": false,
"publishTime": "2026-08-13 12:45:00",
"createTime": "2026-08-12 09:00:00",
"updateTime": "2026-08-13 12:45:00"
}
}
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| docCode | 字符串 | 表格分享码 |
| shareUrl | 字符串 | 分享链接 |
| title | 字符串 | 标题 |
| sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看) |
| shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录 |
| perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| published | 布尔 | 是否已发布过;发布后为 true |
| publishDirty | 布尔 | 草稿与发布快照是否不一致;发布后为 false |
| publishTime | 字符串 | 最近发布时间 |
| createTime | 字符串 | 创建时间 |
| updateTime | 字符串 | 更新时间 |
七. 重命名
1. 使用说明
修改表格标题,仅所有者可操作。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/rename
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
Content-Type: application/json
- 请求参数:
{
"docCode": "Sh3xY7kP",
"title": "销售日报(已更新)"
}
- 请求参数说明
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
| title | 是 | 无 | 新标题,最长 100 字 |
- 响应内容
{
"code": 200,
"msg": "请求成功"
}
八. 删除表格
1. 使用说明
删除表格(逻辑删除),仅所有者可操作。删除后分享链接不可访问。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/delete
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
- 请求参数(Query):
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
- 响应内容
{
"code": 200,
"msg": "请求成功"
}
九. 更新分享设置
1. 使用说明
开启或关闭表格分享,并可设置打开分享页是否需要登录。仅支持「关闭 / 开启仅查看」,不再提供可编辑分享。
开启分享且从未发布过时,会自动用当前草稿生成首版快照。
2. 接口调用说明
- 请求地址:https://www.pushplus.plus/push/api/open/excel/updateShare
- 请求方式:POST
- 请求 Header:
access-key: d7b******62f
Content-Type: application/json
- 请求参数:
{
"docCode": "Sh3xY7kP",
"sharePerm": 1,
"shareLogin": 1
}
- 请求参数说明
| 参数名称 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
| docCode | 是 | 无 | 表格分享码 |
| sharePerm | 是 | 无 | 0关闭 / 1开启(仅可查看) |
| shareLogin | 否 | 沿用原值 | 0免登录 / 1需登录;开启分享时缺省为需登录 |
- 响应内容
{
"code": 200,
"msg": "请求成功",
"data": {
"docCode": "Sh3xY7kP",
"shareUrl": "https://www.pushplus.plus/push/excel/Sh3xY7kP",
"title": "销售日报",
"sharePerm": 1,
"shareLogin": 1,
"perm": 2,
"published": true,
"publishDirty": false,
"publishTime": "2026-08-13 12:45:00",
"createTime": "2026-08-12 09:00:00",
"updateTime": "2026-08-13 12:50:00"
}
}
- 响应字段说明
| 参数名称 | 类型 | 说明 |
|---|---|---|
| docCode | 字符串 | 表格分享码 |
| shareUrl | 字符串 | 分享链接 |
| title | 字符串 | 标题 |
| sharePerm | 数字 | 分享权限:0关闭 / 1开启(仅可查看) |
| shareLogin | 数字 | 分享是否需登录:0免登录 / 1需登录 |
| perm | 数字 | 当前用户权限:1可查看 / 2可编辑 |
| published | 布尔 | 是否已发布过 |
| publishDirty | 布尔 | 草稿与发布快照是否不一致 |
| publishTime | 字符串 | 最近发布时间;从未发布过时不返回 |
| createTime | 字符串 | 创建时间 |
| updateTime | 字符串 | 更新时间 |
典型调用流程
整表写入
1. getAccessKey
2. create(创建空白表格)
3. saveContent(写入整表 JSON 草稿)
4. updateShare(开启分享,可选)
5. publish(同步到分享页)
增量追加行
1. getAccessKey
2. writeCells(按区域写入草稿,如从 A2 起追加两行)
3. publish(同步到分享页)