Files
larksuite__cli/shortcuts/sheets/data/flag-schemas.json
zhengzhijiej-tech ea17864b52 docs(sheets): clarify dropdown values and default colors (#2582)
* docs(sheets): clarify multi-select dropdown values

* docs(sheets): clarify dropdown values and default colors

* docs(sheets): address dropdown review feedback

* docs(sheets): document dropdown color readback
2026-09-01 19:28:56 +08:00

10133 lines
448 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema_version": "3",
"flags": {
"+batch-chart-create": {
"operations": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"chart_type",
"data_range"
],
"anyOf": [
{
"required": [
"sheet_id"
]
},
{
"required": [
"sheet_name"
]
}
],
"properties": {
"sheet_id": {
"type": "string",
"description": "目标子表 ID;与 sheet_name 二选一"
},
"sheet_name": {
"type": "string",
"description": "目标子表名;与 sheet_id 二选一"
},
"chart_type": {
"type": "string",
"enum": [
"column",
"bar",
"line",
"area",
"pie",
"scatter",
"combo",
"radar",
"bubble",
"waterfall",
"pareto"
]
},
"data_range": {
"type": "string"
},
"header_range": {
"type": "string"
},
"data_direction": {
"type": "string",
"enum": [
"row",
"column"
]
},
"dim1_index": {
"type": "integer",
"minimum": 1
},
"dim2_indexes": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "integer",
"minimum": 1
}
}
]
},
"series_types": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string",
"enum": [
"column",
"line",
"area"
]
}
}
]
},
"series_y_axes": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string",
"enum": [
"left",
"right"
]
}
}
]
},
"key_index": {
"type": "integer",
"minimum": 1,
"description": "气泡图标识/名称维度的 1-based 索引;默认 1"
},
"x_index": {
"type": "integer",
"minimum": 1,
"description": "气泡图 X 值维度的 1-based 索引;与 y_index 同时提供"
},
"y_index": {
"type": "integer",
"minimum": 1,
"description": "气泡图 Y 值维度的 1-based 索引;与 x_index 同时提供"
},
"group_index": {
"type": "integer",
"minimum": 1,
"description": "气泡图可选分组维度的 1-based 索引"
},
"size_index": {
"type": "integer",
"minimum": 1,
"description": "气泡图可选气泡大小维度的 1-based 索引"
},
"title": {
"type": "string"
},
"anchor_cell": {
"type": "string"
}
},
"additionalProperties": true,
"description": "每项直接填写 +chart-create-basic 的 flag;CLI 内部固定按 +chart-create-basic 创建,无需也不应再写 shortcut / input。"
}
}
},
"+batch-chart-update": {
"operations": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"shortcut",
"input"
],
"properties": {
"shortcut": {
"type": "string",
"enum": [
"+chart-config-update",
"+chart-data-update"
]
},
"input": {
"type": "object",
"description": "对应图表更新 shortcut 的 flag 集合;包含 sheet_id 或 sheet_name,不包含 spreadsheet token/url"
}
}
}
}
},
"+batch-update": {
"operations": {
"type": "array",
"description": "要批量执行的 CLI shortcut 操作列表,按声明顺序串行执行;任一失败立即中断。",
"items": {
"type": "object",
"required": [
"shortcut",
"input"
],
"properties": {
"shortcut": {
"type": "string",
"enum": [
"+cells-set",
"+cells-set-style",
"+cells-clear",
"+cells-merge",
"+cells-unmerge",
"+cells-replace",
"+csv-put",
"+dropdown-set",
"+dim-insert",
"+dim-delete",
"+dim-hide",
"+dim-unhide",
"+dim-freeze",
"+dim-group",
"+dim-ungroup",
"+rows-resize",
"+cols-resize",
"+range-move",
"+range-copy",
"+range-fill",
"+range-sort",
"+sheet-create",
"+sheet-delete",
"+sheet-rename",
"+sheet-move",
"+sheet-copy",
"+sheet-hide",
"+sheet-unhide",
"+sheet-set-tab-color",
"+sheet-show-gridline",
"+sheet-hide-gridline",
"+chart-create",
"+chart-update",
"+chart-delete",
"+chart-create-basic",
"+chart-config-update",
"+chart-data-update",
"+pivot-create",
"+pivot-update",
"+pivot-delete",
"+cond-format-create",
"+cond-format-update",
"+cond-format-delete",
"+filter-create",
"+filter-update",
"+filter-delete",
"+filter-view-create",
"+filter-view-update",
"+filter-view-delete",
"+sparkline-create",
"+sparkline-update",
"+sparkline-delete",
"+float-image-create",
"+float-image-update",
"+float-image-delete"
],
"description": "CLI shortcut 名(不是底层 MCP tool 名)。图表与其它写入存在同批次顺序依赖时可作为子操作;多个互不依赖的图表任务优先用 +batch-chart-create / +batch-chart-update。+dim-move 不在表中——它走 legacy v2 endpoint,无法批;+cells-set-image / +workbook-create 也不在——前者含多步图片上传,后者是新建工作簿;所有读操作、fan-out wrapper(+batch-update 自身 / +styles-put / +cells-batch-set-style / +cells-batch-clear / +dropdown-{update,delete})一律禁。"
},
"input": {
"type": "object",
"description": "该 shortcut 的入参集——含子表定位 sheet_id(或 sheet_name)。spreadsheet token/url 只需在顶层给一次;如果 input 里重复出现 excel_id / spreadsheet_token / url,CLI 会忽略它们且始终以顶层定位为准。input 的键是该 shortcut 的 flag 展平成 JSON、不是底层 MCP body。基础 flag 跑 `lark-cli sheets <shortcut> --help`,复合 JSON flag 跑 `--print-schema --flag-name <flag>`。不要手填 `operation`(动作由 shortcut 名表达)。"
}
}
}
}
},
"+cells-batch-set-style": {
"border-styles": {
"type": "object",
"description": "单元格边框配置,含 top/bottom/left/right 四个方向,每个方向的结构相同(见 top)。",
"properties": {
"top": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"bottom": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"left": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"right": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
}
}
}
},
"+cells-set": {
"cells": {
"description": "【维度】行列数必须与 range 完全一致:'A1:C2'→[[_,_,_],[_,_,_]](2行×3列),'B5:B7'→[[_],[_],[_]](3行×1列),'A1'→[[_]](1×1)。不修改的单元格填 {}。【内容字段,只能选一个】value(普通值)/ formula(公式,以 = 开头)/ rich_text(富文本)/ multiple_values(多值)。【可叠加字段,可与内容字段自由组合】cell_styles、border_styles、note、data_validation。【增量】所有字段均为增量更新,未传字段保留原值不变。",
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"description": "静态单元格值(文本、数字、布尔)。公式请优先使用 'formula' 字段;如果误把以 '=' 开头的公式字符串写到这里,工具会按 Excel 语义自动识别为公式入库,但仍应按 'formula' 字段的契约传参。",
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"formula": {
"description": "以 '=' 开头的单元格公式(例如:'=SUM(A1:A10)')。公式必须写在此字段,而不是 'value'。",
"type": "string"
},
"note": {
"description": "单元格批注/备注。设为 null 可清除已有的批注。",
"type": "string",
"nullable": true
},
"cell_styles": {
"type": "object",
"properties": {
"font_color": {
"description": "字体颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"font_family": {
"description": "字体名称/字族(例如 \"Arial\"、\"微软雅黑\"、\"宋体\")",
"type": "string"
},
"font_size": {
"description": "字体大小(单位:px/像素,例如 10、12、14)",
"type": "number"
},
"font_weight": {
"description": "字重",
"type": "string",
"enum": [
"normal",
"bold"
]
},
"font_style": {
"description": "字体样式",
"type": "string",
"enum": [
"normal",
"italic"
]
},
"font_line": {
"description": "字体线条样式",
"type": "string",
"enum": [
"none",
"underline",
"line-through"
]
},
"background_color": {
"description": "背景颜色(十六进制,例如 \"#ffffff\")",
"type": "string"
},
"horizontal_alignment": {
"description": "水平对齐方式",
"type": "string",
"enum": [
"left",
"center",
"right"
]
},
"vertical_alignment": {
"description": "垂直对齐方式",
"type": "string",
"enum": [
"top",
"middle",
"bottom"
]
},
"number_format": {
"description": "数字格式(例如:文本用 \"@\"、数字用 \"0.00\"、货币用 \"$#,##0.00\"、日期用 \"mm/dd/yyyy\")",
"type": "string"
},
"word_wrap": {
"description": "是否自动换行,默认溢出,可选自动换行或裁剪。",
"type": "string",
"enum": [
"overflow",
"auto-wrap",
"word-clip"
]
}
},
"description": "单元格样式属性,包括字体、颜色、对齐方式和数字格式"
},
"border_styles": {
"type": "object",
"description": "单元格边框配置,含 top/bottom/left/right 四个方向,每个方向的结构相同(见 top)。",
"properties": {
"top": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"bottom": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"left": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"right": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
}
}
},
"rich_text": {
"description": "富文本内容。设置后会忽略 value 字段。可包含带样式的文本段 text、超链接 link、@提及 mention、单元格图片 embed-image、附件 attachment。",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"description": "段类型",
"type": "string",
"enum": [
"text",
"link",
"mention",
"embed-image",
"attachment"
]
},
"text": {
"description": "显示文本",
"type": "string"
},
"style": {
"description": "文本段样式(仅 type='text' 时生效),结构同 cell_styles",
"type": "object"
},
"link": {
"description": "超链接地址(type='link' 时必填);@文档 mention(mention_type 非 0)时也必填,传文档 URL(如搜索结果里的文档链接),否则卡片不可点。@人(mention_type=0)不需要传",
"type": "string"
},
"mention_token": {
"description": "@提及目标的 token,如 userId 或 fileId(仅 type='mention' 时必填)",
"type": "string"
},
"mention_type": {
"description": "@提及类型编号(仅 type='mention' 时可选)。0 或不填=@用户;@文件时按类型取:1=文档 3=电子表格 8=多维表格 11=思维笔记 12=文件 15=旧版幻灯片 16=知识库 22=新版文档 30=幻灯片 38=画板",
"type": "number",
"enum": [
0,
1,
3,
8,
11,
12,
15,
16,
22,
30,
38
]
},
"notify": {
"description": "是否发送通知(仅 type='mention' 时可选,默认 true)",
"type": "boolean"
},
"image_width": {
"description": "图片宽度(像素,仅 type='embed-image' 时使用)",
"type": "number"
},
"image_height": {
"description": "图片高度(像素,仅 type='embed-image' 时使用)",
"type": "number"
},
"image_name": {
"description": "图片名称(仅 type='embed-image' 时使用,创建新图片时必填)",
"type": "string"
},
"image_uri": {
"description": "图片文件 reference_id(仅 type='embed-image' 时使用,与 image_token 二选一,如`<|image|>:abcdef` 或者 `<|superscript|>:abcdef-<|image|>:abcdef`,其中 `abcdef` 为实际的对象 ID,占位符仅用于示意)",
"type": "string"
},
"image_token": {
"description": "图片文件 token(仅 type='embed-image' 时可选,修改已有图片时可从 get_cell_range 获取)",
"type": "string"
},
"attachment_token": {
"description": "附件文件 token,通过飞书 Drive 上传获取(仅 type='attachment' 时可选,修改已有附件时可从 get_cell_range 获取)",
"type": "string"
},
"attachment_uri": {
"description": "附件文件 reference_id(仅 type='attachment' 时使用,与 attachment_token 二选一,如`<|attachment|>:abcdef` 或者 `<|superscript|>:abcdef-<|attachment|>:abcdef`,其中 `abcdef` 为实际的对象 ID,占位符仅用于示意)",
"type": "string"
},
"attachment_name": {
"description": "附件文件名称(仅 type='attachment' 时使用,配合 attachment_reference_id 使用,创建新附件时必填)",
"type": "string"
},
"mime_type": {
"description": "附件 MIME 类型(仅 type='attachment' 时使用,例如 'application/pdf')",
"type": "string"
},
"file_size": {
"description": "附件文件大小(字节,仅 type='attachment' 时使用)",
"type": "number"
}
},
"required": [
"type",
"text"
]
}
},
"multiple_values": {
"description": "多值内容,用于支持多选的列表验证单元格。设置后会忽略 value 和 rich_text 字段。",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"description": "值(文本、数字、布尔)",
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"format": {
"description": "可选的数字格式(例如 '$#,##0.00')",
"type": "string"
}
},
"required": [
"value"
]
}
},
"data_validation": {
"description": "数据验证配置。设为 null 可清除已有的数据验证。",
"type": "object",
"nullable": true,
"properties": {
"type": {
"description": "数据验证类型:list(下拉列表)、listFromRange(引用范围下拉列表)、number(数字)、date(日期)、textLength(文本长度)、checkbox(复选框)",
"type": "string",
"enum": [
"list",
"listFromRange",
"number",
"date",
"textLength",
"checkbox"
]
},
"items": {
"description": "列表选项",
"type": "array",
"items": {
"type": "string"
}
},
"range": {
"description": "源数据区域(type='listFromRange' 时必填,格式:'SheetName!A1:A10')",
"type": "string"
},
"operator": {
"description": "比较运算符(type='number'/'date'/'textLength' 时必填)",
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
]
},
"values": {
"description": "比较值(operator 为 'between'/'notBetween' 时需要两个值,其它运算符需要一个值)",
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"support_multiple_values": {
"description": "列表验证是否支持多选(type='list'/'listFromRange' 时可选,默认 false)",
"type": "boolean"
},
"help_text": {
"description": "验证失败时显示的提示文本",
"type": "string"
},
"enable_highlight": {
"description": "是否开启下拉选项的胶囊背景色高亮,仅 type='list'/'listFromRange' 生效。默认 true,省略时自动按内置 10 色色板循环上色;仅当用户明确要求纯白下拉时才传 false。需要自定义胶囊颜色时配合 highlight_colors,不要用条件格式(条件格式是染整格背景,语义不符)。",
"type": "boolean"
},
"highlight_colors": {
"description": "下拉选项的自定义胶囊背景色数组(十六进制)。默认不要传:省略时使用内置 10 色色板;仅在用户明确要求或选项有清晰语义配色时传。胶囊文字默认黑色,应选择浅色、低饱和度背景。按顺序对应(type='list' 对应 items;type='listFromRange' 按 range 内单元格行优先顺序,如 A1:A10 对应第 1-10 项;A1:B2 顺序为 A1,B1,A2,B2)。长度可以短于但不能长于;未指定项按内置色板补色。修改已有下拉且需要保留当前配色时,应先回读并透传现有 highlight_colors;省略会按内置色板重建。当 enable_highlight=false 时本字段被忽略。",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type"
]
}
}
}
}
},
"writes": {
"type": "array",
"description": "多区域写入项数组(最多 100 项),整批单次批量提交(fail-fast,失败后先回读再补发);支持跨 sheet。",
"items": {
"type": "object",
"required": [
"range",
"cells"
],
"properties": {
"sheet_id": {
"type": "string",
"description": "目标子表 reference_id;与 sheet_name 二选一,必须写在每一项里(不认顶层 sheet 定位)。"
},
"sheet_name": {
"type": "string",
"description": "目标子表名;与 sheet_id 二选一,必须写在每一项里。"
},
"range": {
"type": "string",
"description": "A1 矩形范围,行列维度必须与 cells 严格一致(同 --range)。"
},
"cells": {
"type": "array",
"description": "二维单元格数组,结构同 --cells(value / formula / cell_styles / border_styles 等,见 set_cell_range#/properties/cells)。"
}
}
}
}
},
"+cells-set-style": {
"border-styles": {
"type": "object",
"description": "单元格边框配置,含 top/bottom/left/right 四个方向,每个方向的结构相同(见 top)。",
"properties": {
"top": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"bottom": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"left": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
},
"right": {
"type": "object",
"properties": {
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
]
},
"weight": {
"description": "边框粗细/线宽",
"type": "string",
"enum": [
"thin",
"medium",
"thick"
]
},
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
}
}
}
}
}
},
"+chart-create": {
"properties": {
"description": "创建/更新的图表属性。",
"type": "object",
"properties": {
"position": {
"type": "object",
"description": "必填。图表在表格中的单元格位置。注意:选择位置时应避免覆盖已有数据的单元格,并确保图表不超出当前表格的行列范围。",
"properties": {
"row": {
"type": "number",
"minimum": 0,
"description": "行索引(0-based)"
},
"col": {
"type": "string",
"description": "列索引,例如 \"A\"、\"B\""
}
},
"required": [
"row",
"col"
]
},
"offset": {
"type": "object",
"description": "可选。图表在位置基础上的偏移量(像素)。",
"properties": {
"row_offset": {
"type": "number",
"description": "行偏移量(像素)"
},
"col_offset": {
"type": "number",
"description": "列偏移量(像素)"
}
}
},
"size": {
"type": "object",
"description": "必填。图表大小(像素)。注意:设定大小时应确保图表不超出当前表格的行列范围,并避免覆盖已有数据的单元格。",
"properties": {
"width": {
"type": "number",
"minimum": 10,
"description": "宽度(像素)"
},
"height": {
"type": "number",
"minimum": 10,
"description": "高度(像素)"
}
},
"required": [
"width",
"height"
]
},
"last_point_label": {
"type": "boolean",
"description": "update 使用。true 为折线图、面积图、雷达图及组合图中的线性系列开启最后一个数据点的数值标签;false 关闭这些单点标签。"
},
"snapshot": {
"description": "图表快照配置。create 需要完整配置;update 可只提供需要变更的字段,对象字段递归合并,数组整段替换,未提供的字段保持现状。",
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"type": "object",
"description": "图表标题配置",
"properties": {
"text": {
"type": "string",
"description": "标题文本"
},
"textAlign": {
"type": "string",
"description": "标题对齐方式",
"enum": [
"left",
"center",
"right"
]
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
},
"required": [
"text"
]
},
"subTitle": {
"type": "object",
"description": "图表副标题配置",
"properties": {
"text": {
"type": "string",
"description": "副标题文本"
},
"textAlign": {
"type": "string",
"description": "副标题对齐方式",
"enum": [
"left",
"center",
"right"
]
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
},
"required": [
"text"
]
},
"style": {
"type": "object",
"description": "图表样式配置",
"properties": {
"background": {
"type": "object",
"description": "背景配置",
"properties": {
"color": {
"type": "string",
"description": "背景颜色,格式为 #RRGGBB"
}
}
},
"font": {
"type": "object",
"description": "字体配置",
"properties": {
"size": {
"type": "number",
"description": "字体大小"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
}
},
"border": {
"type": "object",
"description": "边框配置",
"properties": {
"color": {
"type": "string",
"description": "边框颜色,格式为 #RRGGBB"
},
"width": {
"type": "number",
"description": "边框宽度"
},
"style": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"radius": {
"type": "number",
"description": "边框圆角"
}
}
},
"colorTheme": {
"type": "array",
"description": "颜色主题配置。支持两种模式:1. 仅传一个预设主题名称(字符串数组,长度为1);2. 传多个自定义十六进制颜色字符串。预设主题:brandColorSeries@v2、rainbowColorSeries@v2、complementaryColorSeries@v2、converseColorSeries@v2、primaryColorSeries@v2、singleColorSeries-B-@v2、singleColorSeries-W-@v2、singleColorSeries-G-@v2、singleColorSeries-Y-@v2、singleColorSeries-O-@v2、singleColorSeries-R-@v2、singleColorSeries-D-@v2。十六进制格式:#RRGGBB",
"oneOf": [
{
"minItems": 1,
"maxItems": 1,
"items": {
"type": "string",
"enum": [
"brandColorSeries@v2",
"rainbowColorSeries@v2",
"complementaryColorSeries@v2",
"converseColorSeries@v2",
"primaryColorSeries@v2",
"singleColorSeries-B-@v2",
"singleColorSeries-W-@v2",
"singleColorSeries-G-@v2",
"singleColorSeries-Y-@v2",
"singleColorSeries-O-@v2",
"singleColorSeries-R-@v2",
"singleColorSeries-D-@v2"
]
}
},
{
"minItems": 2,
"items": {
"type": "string",
"description": "颜色字符串,十六进制格式:#RRGGBB"
}
}
]
},
"colorGradient": {
"type": "boolean",
"description": "是否启用颜色渐变"
}
}
},
"legend": {
"oneOf": [
{
"type": "object",
"description": "图例配置",
"properties": {
"position": {
"type": "string",
"description": "图例位置",
"enum": [
"top",
"bottom",
"left",
"right"
]
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
}
},
{
"type": "boolean",
"description": "false 表示隐藏图例"
}
]
},
"plotArea": {
"type": "object",
"description": "绘图区域配置",
"properties": {
"plot": {
"type": "object",
"description": "绘图配置",
"properties": {
"type": {
"type": "string",
"description": "图表类型",
"enum": [
"bar",
"column",
"line",
"area",
"combo",
"pie",
"radar",
"scatter",
"bubble",
"waterfall",
"pareto"
]
},
"comboType": {
"type": "string",
"description": "组合图表默认类型",
"enum": [
"column",
"line",
"area"
]
},
"yAxisPosition": {
"type": "string",
"description": "Y轴位置",
"enum": [
"left",
"right"
]
},
"extra": {
"type": "object",
"description": "额外配置",
"properties": {
"smooth": {
"type": "boolean",
"description": "是否平滑曲线"
},
"step": {
"type": "boolean",
"description": "是否阶梯图"
},
"stack": {
"type": "object",
"description": "堆叠配置",
"properties": {
"enabled": {
"type": "boolean",
"description": "是否启用堆叠"
},
"percentage": {
"type": "boolean",
"description": "是否百分比堆叠"
}
}
},
"radar": {
"type": "object",
"description": "雷达图配置",
"properties": {
"shape": {
"type": "string",
"description": "雷达图形状",
"enum": [
"polygon",
"circle"
]
},
"area": {
"type": "boolean",
"description": "是否填充区域"
}
}
},
"bubble": {
"type": "object",
"description": "气泡图配置。气泡图的 x、y、group、size 数据角色在 data.dim2 中指定。",
"properties": {
"aggregate": {
"type": "boolean",
"description": "是否对相同分组与坐标的数据进行汇总"
},
"showNegativeSize": {
"type": "boolean",
"description": "是否显示气泡大小为负值的数据点"
},
"opacityGradientStyle": {
"type": "string",
"description": "气泡透明度渐变样式",
"enum": [
"linear",
"radial"
]
},
"idLabel": {
"type": "object",
"description": "气泡标识标签样式配置",
"properties": {
"fontSize": {
"type": "number",
"description": "标签字号"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "标签字体颜色"
}
}
}
}
},
"waterfall": {
"type": "object",
"description": "瀑布图全局配置。正值柱样式复用 plot.bars;单个系列可通过 plot.series[].bars 和 plot.series[].waterfall 覆盖样式与数值解释。",
"properties": {
"firstValueAsTotal": {
"type": "boolean",
"description": "是否将第一个值视为总计"
},
"lastValueAsSubtotal": {
"type": "boolean",
"description": "是否将最后一个值视为小计"
},
"negativeStyle": {
"type": "object",
"description": "负值柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"totalStyle": {
"type": "object",
"description": "总计与小计柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"titleText": {
"type": "object",
"description": "瀑布图正值、负值和小计的标题文本",
"properties": {
"positive": {
"type": "string",
"description": "正值标题"
},
"negative": {
"type": "string",
"description": "负值标题"
},
"subtotal": {
"type": "string",
"description": "小计标题"
}
}
},
"subtotals": {
"type": "array",
"description": "小计节点配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 0,
"description": "小计节点索引,从 0 开始"
},
"mode": {
"type": "integer",
"enum": [
0,
1
],
"description": "小计计算模式"
},
"alias": {
"type": "string",
"description": "小计别名"
}
},
"required": [
"index",
"mode"
]
}
},
"cornerRadius": {
"type": "string",
"description": "柱子圆角大小",
"enum": [
"default",
"small",
"large"
]
},
"gradient": {
"type": "boolean",
"description": "是否使用渐变填充"
},
"connectorLine": {
"description": "瀑布柱之间的连接线配置;false 表示隐藏连接线",
"oneOf": [
{
"type": "object",
"properties": {
"color": {
"type": "string",
"description": "连接线颜色"
},
"width": {
"type": "number",
"description": "连接线宽度"
},
"style": {
"type": "string",
"description": "连接线样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"opacity": {
"type": "number",
"description": "连接线透明度,取值 0-1"
}
}
},
{
"type": "boolean",
"enum": [
false
]
}
]
},
"totalLabels": {
"description": "总计与小计标签配置;false 表示隐藏该类标签",
"oneOf": [
{
"type": "object",
"properties": {
"template": {
"type": "string",
"description": "标签文本模板"
},
"position": {
"type": "string",
"description": "标签位置",
"enum": [
"default",
"top",
"middle",
"bottom"
]
},
"category": {
"type": "boolean",
"description": "是否显示类别名"
},
"value": {
"type": "boolean",
"description": "是否显示数值"
},
"fontSize": {
"type": "number",
"description": "标签字号"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "标签字体颜色"
}
}
},
{
"type": "boolean",
"enum": [
false
]
}
]
}
}
},
"pareto": {
"type": "object",
"description": "排列图配置。柱子、累计曲线、数据点和标签复用现有 bars、line、points、labels 配置。",
"properties": {
"aggregateType": {
"type": "string",
"description": "排列图的数据汇总方式",
"enum": [
"sum",
"average",
"count",
"counta",
"min",
"max",
"median"
]
},
"categoryNumber": {
"type": "integer",
"minimum": 1,
"description": "参与排列的类别数量,必须为正整数"
}
}
}
}
},
"points": {
"type": "object",
"description": "全系列数据点配置,折线图、面积图、雷达图、散点图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "数据点颜色"
},
"shape": {
"type": "string",
"description": "数据点形状",
"enum": [
"circle",
"triangle",
"rect",
"diamond",
"square"
]
},
"size": {
"type": "number",
"description": "数据点大小"
},
"fillGradient": {
"type": "object",
"description": "数据点填充渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"strokeGradient": {
"type": "object",
"description": "数据点描边渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"point": {
"type": "array",
"description": "单个数据点配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "数据点索引"
},
"color": {
"type": "string",
"description": "颜色"
},
"shape": {
"type": "string",
"description": "形状"
},
"size": {
"type": "number",
"description": "大小"
},
"labels": {
"type": "object",
"description": "单点数据标签配置,仅折线图、面积图、雷达图及组合图中的线性系列生效。labels 对象的存在性即开关;显示最后一点的值时传 {\"value\": true}。",
"properties": {
"position": {
"type": "string",
"description": "标签位置",
"enum": [
"auto",
"top",
"bottom",
"left",
"right",
"center",
"inside",
"outside"
]
},
"series": {
"type": "boolean",
"description": "是否显示系列名"
},
"category": {
"type": "boolean",
"description": "是否显示类别名"
},
"value": {
"type": "boolean",
"description": "是否显示值"
},
"percentage": {
"type": "boolean",
"description": "是否显示百分比"
},
"format": {
"type": "string",
"description": "标签数字格式"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
}
},
"fillGradient": {
"type": "object",
"description": "单个数据点填充渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
},
"required": [
"index"
]
}
}
}
},
"lines": {
"type": "object",
"description": "全系列线条配置,折线图、面积图、雷达图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "线条颜色"
},
"width": {
"type": "number",
"description": "线条宽度"
},
"style": {
"type": "string",
"description": "线条样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"invalidType": {
"type": "string",
"description": "无效值处理方式",
"enum": [
"break",
"zero",
"link"
]
},
"strokeGradient": {
"type": "object",
"description": "线条描边渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
}
},
"areas": {
"type": "object",
"description": "全系列面积填充配置,面积图、雷达图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "区域填充颜色"
},
"fillGradient": {
"type": "object",
"description": "区域填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
}
},
"bars": {
"type": "object",
"description": "全系列柱状图、条形图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "柱子颜色"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"width": {
"type": "number",
"description": "柱子宽度"
},
"gap": {
"type": "number",
"description": "柱子间距比例,0-1之间"
},
"backgroundColor": {
"type": "string",
"description": "背景颜色"
},
"fillGradient": {
"type": "object",
"description": "柱子填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"strokeGradient": {
"type": "object",
"description": "柱子描边渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"bar": {
"type": "array",
"description": "单个柱子配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "柱子索引"
},
"color": {
"type": "string",
"description": "颜色"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式"
},
"fillGradient": {
"type": "object",
"description": "单个柱子填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
},
"required": [
"index"
]
}
}
}
},
"labels": {
"type": "object",
"description": "数据标签配置。labels 对象的存在性即开关:不显示数据标签时省略整个 labels 字段;一旦传入 labels(即便 value/category/series/percentage 全部置为 false),数据标签仍会显示,且默认兜底显示 value。",
"properties": {
"position": {
"type": "string",
"description": "标签位置",
"enum": [
"auto",
"top",
"bottom",
"left",
"right",
"center",
"inside",
"outside"
]
},
"series": {
"type": "boolean",
"description": "是否显示系列名"
},
"category": {
"type": "boolean",
"description": "是否显示类别名"
},
"value": {
"type": "boolean",
"description": "是否显示值"
},
"percentage": {
"type": "boolean",
"description": "是否显示百分比"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
}
},
"series": {
"type": "array",
"description": "单个系列配置数组",
"items": {
"type": "object",
"description": "系列配置",
"properties": {
"index": {
"type": "number",
"description": "数据列索引,与 dim2.series[].index 值一致,从 1 开始(1 通常对应首列标签维度,2+ 对应后续数据维度列)"
},
"comboType": {
"type": "string",
"description": "组合图下该系列的图表类型,仅在 type 为 combo 时生效",
"enum": [
"column",
"line",
"area"
]
},
"yAxisPosition": {
"type": "string",
"description": "Y轴位置",
"enum": [
"left",
"right"
]
},
"points": {
"type": "object",
"description": "数据点配置,配置项同 plotArea.points"
},
"line": {
"type": "object",
"description": "线条配置,配置项同 plotArea.lines"
},
"area": {
"type": "object",
"description": "区域填充配置,配置项同 plotArea.areas"
},
"bars": {
"type": "object",
"description": "柱状图配置,配置项同 plotArea.bars"
},
"labels": {
"type": "object",
"description": "数据标签配置(覆盖单系列,配置项同 plotArea.plot.labels)。不覆盖该系列数据标签时省略整个 labels 字段;一旦传入 labels(即便显示开关全部置为 false),该系列仍会显示数据标签。"
},
"waterfall": {
"type": "object",
"description": "瀑布图的单系列配置,覆盖 plot.extra.waterfall 中对应的数值解释、负值和总计样式;正值柱样式复用同级 bars。",
"properties": {
"firstValueAsTotal": {
"type": "boolean",
"description": "是否将该系列第一个值视为总计"
},
"lastValueAsSubtotal": {
"type": "boolean",
"description": "是否将该系列最后一个值视为小计"
},
"negativeStyle": {
"type": "object",
"description": "该系列的负值柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"totalStyle": {
"type": "object",
"description": "该系列的总计与小计柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"titleText": {
"type": "object",
"description": "该系列正值、负值和小计的标题文本",
"properties": {
"positive": {
"type": "string",
"description": "正值标题"
},
"negative": {
"type": "string",
"description": "负值标题"
},
"subtotal": {
"type": "string",
"description": "小计标题"
}
}
},
"subtotals": {
"type": "array",
"description": "该系列的小计节点配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 0,
"description": "小计节点索引,从 0 开始"
},
"mode": {
"type": "integer",
"enum": [
0,
1
],
"description": "小计计算模式"
},
"alias": {
"type": "string",
"description": "小计别名"
}
},
"required": [
"index",
"mode"
]
}
}
}
},
"sectors": {
"type": "object",
"description": "扇区配置(饼图)",
"properties": {
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"innerRadius": {
"type": "number",
"description": "内半径比例,0-1之间"
},
"offsetRadius": {
"type": "number",
"description": "偏移半径比例"
},
"startAngle": {
"type": "number",
"description": "起始角度,0-359"
},
"fillGradient": {
"type": "object",
"description": "扇区填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"sector": {
"type": "array",
"description": "单个扇区配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "扇区索引"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"offsetRadius": {
"type": "number",
"description": "偏移半径"
},
"color": {
"type": "string",
"description": "颜色"
},
"fillGradient": {
"type": "object",
"description": "单个扇区填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
},
"required": [
"index"
]
}
}
}
}
},
"required": [
"index"
]
}
}
},
"required": [
"type"
]
},
"axes": {
"type": "array",
"description": "坐标轴配置数组",
"items": {
"type": "object",
"description": "坐标轴配置",
"properties": {
"type": {
"type": "string",
"description": "坐标轴类型",
"enum": [
"x",
"y",
"angle",
"radius"
]
},
"position": {
"type": "string",
"description": "坐标轴位置",
"enum": [
"left",
"right",
"bottom"
]
},
"max": {
"type": "number",
"description": "最大值"
},
"min": {
"type": "number",
"description": "最小值"
},
"valueType": {
"type": "string",
"description": "是否将横轴数字视为文本,linear 表示将数字视为数值, ordinal 表示将数字视为文本",
"enum": [
"ordinal",
"linear"
]
},
"title": {
"type": "object",
"description": "坐标轴标题配置",
"properties": {
"text": {
"type": "string",
"description": "标题文本"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
},
"required": [
"text"
]
},
"label": {
"type": "object",
"description": "坐标轴标签配置",
"properties": {
"angle": {
"type": "number",
"description": "旋转角度,可选值:-90, -45, 0, 45, 90"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
}
},
"axisLine": {
"type": "boolean",
"description": "是否显示轴线"
},
"gridLine": {
"oneOf": [
{
"type": "object",
"description": "网格线配置",
"properties": {
"width": {
"type": "number",
"description": "网格线宽度"
},
"color": {
"type": "string",
"description": "网格线颜色"
}
}
},
{
"type": "boolean",
"description": "false 表示隐藏网格线"
}
]
}
},
"required": [
"type"
]
}
}
},
"required": [
"plot"
]
},
"data": {
"type": "object",
"description": "图表数据配置",
"properties": {
"isStaticData": {
"type": "boolean",
"description": "是否为静态数据"
},
"includeHiddenOrFilter": {
"type": "boolean",
"description": "是否包含隐藏或过滤的数据"
},
"direction": {
"type": "string",
"description": "数据方向,可选值:row(行方向)或column(列方向),常用值为column",
"enum": [
"row",
"column"
]
},
"headerMode": {
"type": "string",
"description": "表头模式。inline 表示 refs 首行/首列就是表头;detached 表示 refs 仅覆盖实际数据范围,维度名和系列名需通过 nameRef 显式指定。",
"enum": [
"inline",
"detached"
]
},
"refs": {
"type": "array",
"description": "数据源引用范围数组",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "图表数据源范围,格式为 'SheetName!A1:D100' 的连续区域"
}
},
"required": [
"value"
]
}
},
"dim1": {
"type": "object",
"description": "维度1配置(类别维度)",
"properties": {
"serie": {
"type": "object",
"description": "系列配置(非静态数据时传此参数)",
"properties": {
"index": {
"type": "number",
"description": "系列索引,数据源从左往右,从 1 开始计数对应数据源的列索引;如果数据方向direction为 'row',则为从上往下,从 1 开始计数对应数据源的行索引"
},
"aggregate": {
"type": "boolean",
"description": "是否汇总相同的类别,默认为true,true 情况下 aggregateType 才生效"
},
"nameRef": {
"type": "string",
"description": "可选。维度名称的单元格引用(A1 表示法,如 'Sheet1!A1')。当维度名称不直接来自 refs 首行/首列时,可通过此字段把维度名显式指向目标表头单元格,图表会以该单元格当前值作为类别维度名展示。"
}
},
"required": [
"index"
]
},
"field": {
"type": "object",
"description": "字段配置(静态数据时传此参数)",
"properties": {
"valueType": {
"type": "string",
"description": "值类型",
"enum": [
"number",
"string"
]
},
"name": {
"type": "string",
"description": "字段名称"
},
"text": {
"type": "string",
"description": "字段文本数据"
}
},
"required": [
"text"
]
}
}
},
"dim2": {
"type": "object",
"description": "维度2配置(值维度)",
"properties": {
"series": {
"type": "array",
"description": "系列配置数组(非静态数据时传此参数)",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "系列索引,数据源从左往右,从 1 开始计数对应数据源的列索引;如果数据方向direction为 'row',则为从上往下,从 1 开始计数对应数据源的行索引"
},
"aggregateType": {
"type": "string",
"description": "汇总方式,默认为'sum',仅在 aggregate 为 true 时生效。count 只统计数值单元格;counta 统计所有非空单元格(含文本),按文本/分类列统计出现次数(如各类别的数量、频次分布)时用 counta。",
"enum": [
"sum",
"average",
"count",
"counta",
"min",
"max",
"median"
]
},
"nameRef": {
"type": "string",
"description": "可选。系列名称的单元格引用(A1 表示法,如 'Sheet1!C1')。当系列名称不直接来自 refs 首行/首列时,可通过此字段把系列名显式指向目标表头单元格,图表会以该单元格当前值作为系列名(图例/tooltip)展示。"
},
"role": {
"type": "string",
"description": "气泡图中该数据系列的角色:x 为横轴、y 为纵轴、group 为分组、size 为气泡大小。气泡图必须各有一个 x 和 y,group 和 size 可选。",
"enum": [
"x",
"y",
"group",
"size"
]
}
},
"required": [
"index"
]
}
},
"fields": {
"type": "array",
"description": "字段配置数组(静态数据时传此参数)",
"items": {
"type": "object",
"properties": {
"valueType": {
"type": "string",
"description": "值类型。x、y、size 角色使用 number;group 角色可使用 string 或 number。",
"enum": [
"number",
"string"
]
},
"role": {
"type": "string",
"description": "气泡图中该静态字段的角色:x 为横轴、y 为纵轴、group 为分组、size 为气泡大小。气泡图必须各有一个 x 和 y,group 和 size 可选。",
"enum": [
"x",
"y",
"group",
"size"
]
},
"format": {
"type": "string",
"description": "字段数值格式"
},
"name": {
"type": "string",
"description": "字段名称"
},
"text": {
"type": "string",
"description": "字段文本数据"
}
},
"required": [
"text"
]
}
}
}
}
}
}
},
"required": [
"plotArea",
"data"
]
},
{
"type": "object",
"description": "update 的局部图表快照变更"
}
]
}
}
}
},
"+chart-update": {
"properties": {
"description": "创建/更新的图表属性。",
"type": "object",
"properties": {
"position": {
"type": "object",
"description": "必填。图表在表格中的单元格位置。注意:选择位置时应避免覆盖已有数据的单元格,并确保图表不超出当前表格的行列范围。",
"properties": {
"row": {
"type": "number",
"minimum": 0,
"description": "行索引(0-based)"
},
"col": {
"type": "string",
"description": "列索引,例如 \"A\"、\"B\""
}
},
"required": [
"row",
"col"
]
},
"offset": {
"type": "object",
"description": "可选。图表在位置基础上的偏移量(像素)。",
"properties": {
"row_offset": {
"type": "number",
"description": "行偏移量(像素)"
},
"col_offset": {
"type": "number",
"description": "列偏移量(像素)"
}
}
},
"size": {
"type": "object",
"description": "必填。图表大小(像素)。注意:设定大小时应确保图表不超出当前表格的行列范围,并避免覆盖已有数据的单元格。",
"properties": {
"width": {
"type": "number",
"minimum": 10,
"description": "宽度(像素)"
},
"height": {
"type": "number",
"minimum": 10,
"description": "高度(像素)"
}
},
"required": [
"width",
"height"
]
},
"last_point_label": {
"type": "boolean",
"description": "update 使用。true 为折线图、面积图、雷达图及组合图中的线性系列开启最后一个数据点的数值标签;false 关闭这些单点标签。"
},
"snapshot": {
"description": "图表快照配置。create 需要完整配置;update 可只提供需要变更的字段,对象字段递归合并,数组整段替换,未提供的字段保持现状。",
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"type": "object",
"description": "图表标题配置",
"properties": {
"text": {
"type": "string",
"description": "标题文本"
},
"textAlign": {
"type": "string",
"description": "标题对齐方式",
"enum": [
"left",
"center",
"right"
]
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
},
"required": [
"text"
]
},
"subTitle": {
"type": "object",
"description": "图表副标题配置",
"properties": {
"text": {
"type": "string",
"description": "副标题文本"
},
"textAlign": {
"type": "string",
"description": "副标题对齐方式",
"enum": [
"left",
"center",
"right"
]
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
},
"required": [
"text"
]
},
"style": {
"type": "object",
"description": "图表样式配置",
"properties": {
"background": {
"type": "object",
"description": "背景配置",
"properties": {
"color": {
"type": "string",
"description": "背景颜色,格式为 #RRGGBB"
}
}
},
"font": {
"type": "object",
"description": "字体配置",
"properties": {
"size": {
"type": "number",
"description": "字体大小"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
}
},
"border": {
"type": "object",
"description": "边框配置",
"properties": {
"color": {
"type": "string",
"description": "边框颜色,格式为 #RRGGBB"
},
"width": {
"type": "number",
"description": "边框宽度"
},
"style": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"radius": {
"type": "number",
"description": "边框圆角"
}
}
},
"colorTheme": {
"type": "array",
"description": "颜色主题配置。支持两种模式:1. 仅传一个预设主题名称(字符串数组,长度为1);2. 传多个自定义十六进制颜色字符串。预设主题:brandColorSeries@v2、rainbowColorSeries@v2、complementaryColorSeries@v2、converseColorSeries@v2、primaryColorSeries@v2、singleColorSeries-B-@v2、singleColorSeries-W-@v2、singleColorSeries-G-@v2、singleColorSeries-Y-@v2、singleColorSeries-O-@v2、singleColorSeries-R-@v2、singleColorSeries-D-@v2。十六进制格式:#RRGGBB",
"oneOf": [
{
"minItems": 1,
"maxItems": 1,
"items": {
"type": "string",
"enum": [
"brandColorSeries@v2",
"rainbowColorSeries@v2",
"complementaryColorSeries@v2",
"converseColorSeries@v2",
"primaryColorSeries@v2",
"singleColorSeries-B-@v2",
"singleColorSeries-W-@v2",
"singleColorSeries-G-@v2",
"singleColorSeries-Y-@v2",
"singleColorSeries-O-@v2",
"singleColorSeries-R-@v2",
"singleColorSeries-D-@v2"
]
}
},
{
"minItems": 2,
"items": {
"type": "string",
"description": "颜色字符串,十六进制格式:#RRGGBB"
}
}
]
},
"colorGradient": {
"type": "boolean",
"description": "是否启用颜色渐变"
}
}
},
"legend": {
"oneOf": [
{
"type": "object",
"description": "图例配置",
"properties": {
"position": {
"type": "string",
"description": "图例位置",
"enum": [
"top",
"bottom",
"left",
"right"
]
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色,格式为 #RRGGBB"
}
}
},
{
"type": "boolean",
"description": "false 表示隐藏图例"
}
]
},
"plotArea": {
"type": "object",
"description": "绘图区域配置",
"properties": {
"plot": {
"type": "object",
"description": "绘图配置",
"properties": {
"type": {
"type": "string",
"description": "图表类型",
"enum": [
"bar",
"column",
"line",
"area",
"combo",
"pie",
"radar",
"scatter",
"bubble",
"waterfall",
"pareto"
]
},
"comboType": {
"type": "string",
"description": "组合图表默认类型",
"enum": [
"column",
"line",
"area"
]
},
"yAxisPosition": {
"type": "string",
"description": "Y轴位置",
"enum": [
"left",
"right"
]
},
"extra": {
"type": "object",
"description": "额外配置",
"properties": {
"smooth": {
"type": "boolean",
"description": "是否平滑曲线"
},
"step": {
"type": "boolean",
"description": "是否阶梯图"
},
"stack": {
"type": "object",
"description": "堆叠配置",
"properties": {
"enabled": {
"type": "boolean",
"description": "是否启用堆叠"
},
"percentage": {
"type": "boolean",
"description": "是否百分比堆叠"
}
}
},
"radar": {
"type": "object",
"description": "雷达图配置",
"properties": {
"shape": {
"type": "string",
"description": "雷达图形状",
"enum": [
"polygon",
"circle"
]
},
"area": {
"type": "boolean",
"description": "是否填充区域"
}
}
},
"bubble": {
"type": "object",
"description": "气泡图配置。气泡图的 x、y、group、size 数据角色在 data.dim2 中指定。",
"properties": {
"aggregate": {
"type": "boolean",
"description": "是否对相同分组与坐标的数据进行汇总"
},
"showNegativeSize": {
"type": "boolean",
"description": "是否显示气泡大小为负值的数据点"
},
"opacityGradientStyle": {
"type": "string",
"description": "气泡透明度渐变样式",
"enum": [
"linear",
"radial"
]
},
"idLabel": {
"type": "object",
"description": "气泡标识标签样式配置",
"properties": {
"fontSize": {
"type": "number",
"description": "标签字号"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "标签字体颜色"
}
}
}
}
},
"waterfall": {
"type": "object",
"description": "瀑布图全局配置。正值柱样式复用 plot.bars;单个系列可通过 plot.series[].bars 和 plot.series[].waterfall 覆盖样式与数值解释。",
"properties": {
"firstValueAsTotal": {
"type": "boolean",
"description": "是否将第一个值视为总计"
},
"lastValueAsSubtotal": {
"type": "boolean",
"description": "是否将最后一个值视为小计"
},
"negativeStyle": {
"type": "object",
"description": "负值柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"totalStyle": {
"type": "object",
"description": "总计与小计柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"titleText": {
"type": "object",
"description": "瀑布图正值、负值和小计的标题文本",
"properties": {
"positive": {
"type": "string",
"description": "正值标题"
},
"negative": {
"type": "string",
"description": "负值标题"
},
"subtotal": {
"type": "string",
"description": "小计标题"
}
}
},
"subtotals": {
"type": "array",
"description": "小计节点配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 0,
"description": "小计节点索引,从 0 开始"
},
"mode": {
"type": "integer",
"enum": [
0,
1
],
"description": "小计计算模式"
},
"alias": {
"type": "string",
"description": "小计别名"
}
},
"required": [
"index",
"mode"
]
}
},
"cornerRadius": {
"type": "string",
"description": "柱子圆角大小",
"enum": [
"default",
"small",
"large"
]
},
"gradient": {
"type": "boolean",
"description": "是否使用渐变填充"
},
"connectorLine": {
"description": "瀑布柱之间的连接线配置;false 表示隐藏连接线",
"oneOf": [
{
"type": "object",
"properties": {
"color": {
"type": "string",
"description": "连接线颜色"
},
"width": {
"type": "number",
"description": "连接线宽度"
},
"style": {
"type": "string",
"description": "连接线样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"opacity": {
"type": "number",
"description": "连接线透明度,取值 0-1"
}
}
},
{
"type": "boolean",
"enum": [
false
]
}
]
},
"totalLabels": {
"description": "总计与小计标签配置;false 表示隐藏该类标签",
"oneOf": [
{
"type": "object",
"properties": {
"template": {
"type": "string",
"description": "标签文本模板"
},
"position": {
"type": "string",
"description": "标签位置",
"enum": [
"default",
"top",
"middle",
"bottom"
]
},
"category": {
"type": "boolean",
"description": "是否显示类别名"
},
"value": {
"type": "boolean",
"description": "是否显示数值"
},
"fontSize": {
"type": "number",
"description": "标签字号"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "标签字体颜色"
}
}
},
{
"type": "boolean",
"enum": [
false
]
}
]
}
}
},
"pareto": {
"type": "object",
"description": "排列图配置。柱子、累计曲线、数据点和标签复用现有 bars、line、points、labels 配置。",
"properties": {
"aggregateType": {
"type": "string",
"description": "排列图的数据汇总方式",
"enum": [
"sum",
"average",
"count",
"counta",
"min",
"max",
"median"
]
},
"categoryNumber": {
"type": "integer",
"minimum": 1,
"description": "参与排列的类别数量,必须为正整数"
}
}
}
}
},
"points": {
"type": "object",
"description": "全系列数据点配置,折线图、面积图、雷达图、散点图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "数据点颜色"
},
"shape": {
"type": "string",
"description": "数据点形状",
"enum": [
"circle",
"triangle",
"rect",
"diamond",
"square"
]
},
"size": {
"type": "number",
"description": "数据点大小"
},
"fillGradient": {
"type": "object",
"description": "数据点填充渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"strokeGradient": {
"type": "object",
"description": "数据点描边渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"point": {
"type": "array",
"description": "单个数据点配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "数据点索引"
},
"color": {
"type": "string",
"description": "颜色"
},
"shape": {
"type": "string",
"description": "形状"
},
"size": {
"type": "number",
"description": "大小"
},
"labels": {
"type": "object",
"description": "单点数据标签配置,仅折线图、面积图、雷达图及组合图中的线性系列生效。labels 对象的存在性即开关;显示最后一点的值时传 {\"value\": true}。",
"properties": {
"position": {
"type": "string",
"description": "标签位置",
"enum": [
"auto",
"top",
"bottom",
"left",
"right",
"center",
"inside",
"outside"
]
},
"series": {
"type": "boolean",
"description": "是否显示系列名"
},
"category": {
"type": "boolean",
"description": "是否显示类别名"
},
"value": {
"type": "boolean",
"description": "是否显示值"
},
"percentage": {
"type": "boolean",
"description": "是否显示百分比"
},
"format": {
"type": "string",
"description": "标签数字格式"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
}
},
"fillGradient": {
"type": "object",
"description": "单个数据点填充渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
},
"required": [
"index"
]
}
}
}
},
"lines": {
"type": "object",
"description": "全系列线条配置,折线图、面积图、雷达图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "线条颜色"
},
"width": {
"type": "number",
"description": "线条宽度"
},
"style": {
"type": "string",
"description": "线条样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"invalidType": {
"type": "string",
"description": "无效值处理方式",
"enum": [
"break",
"zero",
"link"
]
},
"strokeGradient": {
"type": "object",
"description": "线条描边渐变配置",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
}
},
"areas": {
"type": "object",
"description": "全系列面积填充配置,面积图、雷达图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "区域填充颜色"
},
"fillGradient": {
"type": "object",
"description": "区域填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
}
},
"bars": {
"type": "object",
"description": "全系列柱状图、条形图、组合图生效。",
"properties": {
"color": {
"type": "string",
"description": "柱子颜色"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"width": {
"type": "number",
"description": "柱子宽度"
},
"gap": {
"type": "number",
"description": "柱子间距比例,0-1之间"
},
"backgroundColor": {
"type": "string",
"description": "背景颜色"
},
"fillGradient": {
"type": "object",
"description": "柱子填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"strokeGradient": {
"type": "object",
"description": "柱子描边渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"bar": {
"type": "array",
"description": "单个柱子配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "柱子索引"
},
"color": {
"type": "string",
"description": "颜色"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式"
},
"fillGradient": {
"type": "object",
"description": "单个柱子填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
},
"required": [
"index"
]
}
}
}
},
"labels": {
"type": "object",
"description": "数据标签配置。labels 对象的存在性即开关:不显示数据标签时省略整个 labels 字段;一旦传入 labels(即便 value/category/series/percentage 全部置为 false),数据标签仍会显示,且默认兜底显示 value。",
"properties": {
"position": {
"type": "string",
"description": "标签位置",
"enum": [
"auto",
"top",
"bottom",
"left",
"right",
"center",
"inside",
"outside"
]
},
"series": {
"type": "boolean",
"description": "是否显示系列名"
},
"category": {
"type": "boolean",
"description": "是否显示类别名"
},
"value": {
"type": "boolean",
"description": "是否显示值"
},
"percentage": {
"type": "boolean",
"description": "是否显示百分比"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
}
},
"series": {
"type": "array",
"description": "单个系列配置数组",
"items": {
"type": "object",
"description": "系列配置",
"properties": {
"index": {
"type": "number",
"description": "数据列索引,与 dim2.series[].index 值一致,从 1 开始(1 通常对应首列标签维度,2+ 对应后续数据维度列)"
},
"comboType": {
"type": "string",
"description": "组合图下该系列的图表类型,仅在 type 为 combo 时生效",
"enum": [
"column",
"line",
"area"
]
},
"yAxisPosition": {
"type": "string",
"description": "Y轴位置",
"enum": [
"left",
"right"
]
},
"points": {
"type": "object",
"description": "数据点配置,配置项同 plotArea.points"
},
"line": {
"type": "object",
"description": "线条配置,配置项同 plotArea.lines"
},
"area": {
"type": "object",
"description": "区域填充配置,配置项同 plotArea.areas"
},
"bars": {
"type": "object",
"description": "柱状图配置,配置项同 plotArea.bars"
},
"labels": {
"type": "object",
"description": "数据标签配置(覆盖单系列,配置项同 plotArea.plot.labels)。不覆盖该系列数据标签时省略整个 labels 字段;一旦传入 labels(即便显示开关全部置为 false),该系列仍会显示数据标签。"
},
"waterfall": {
"type": "object",
"description": "瀑布图的单系列配置,覆盖 plot.extra.waterfall 中对应的数值解释、负值和总计样式;正值柱样式复用同级 bars。",
"properties": {
"firstValueAsTotal": {
"type": "boolean",
"description": "是否将该系列第一个值视为总计"
},
"lastValueAsSubtotal": {
"type": "boolean",
"description": "是否将该系列最后一个值视为小计"
},
"negativeStyle": {
"type": "object",
"description": "该系列的负值柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"totalStyle": {
"type": "object",
"description": "该系列的总计与小计柱样式",
"properties": {
"color": {
"type": "string",
"description": "填充颜色"
},
"opacity": {
"type": "number",
"description": "透明度,取值 0-1"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"borderWidth": {
"type": "number",
"description": "边框宽度"
},
"borderStyle": {
"type": "string",
"description": "边框样式",
"enum": [
"solid",
"dashed",
"dotted"
]
}
}
},
"titleText": {
"type": "object",
"description": "该系列正值、负值和小计的标题文本",
"properties": {
"positive": {
"type": "string",
"description": "正值标题"
},
"negative": {
"type": "string",
"description": "负值标题"
},
"subtotal": {
"type": "string",
"description": "小计标题"
}
}
},
"subtotals": {
"type": "array",
"description": "该系列的小计节点配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"minimum": 0,
"description": "小计节点索引,从 0 开始"
},
"mode": {
"type": "integer",
"enum": [
0,
1
],
"description": "小计计算模式"
},
"alias": {
"type": "string",
"description": "小计别名"
}
},
"required": [
"index",
"mode"
]
}
}
}
},
"sectors": {
"type": "object",
"description": "扇区配置(饼图)",
"properties": {
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"innerRadius": {
"type": "number",
"description": "内半径比例,0-1之间"
},
"offsetRadius": {
"type": "number",
"description": "偏移半径比例"
},
"startAngle": {
"type": "number",
"description": "起始角度,0-359"
},
"fillGradient": {
"type": "object",
"description": "扇区填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
},
"sector": {
"type": "array",
"description": "单个扇区配置数组",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "扇区索引"
},
"borderColor": {
"type": "string",
"description": "边框颜色"
},
"offsetRadius": {
"type": "number",
"description": "偏移半径"
},
"color": {
"type": "string",
"description": "颜色"
},
"fillGradient": {
"type": "object",
"description": "单个扇区填充渐变",
"properties": {
"type": {
"type": "string",
"enum": [
"linear",
"radial"
],
"description": "渐变类型"
},
"x0": {
"type": "number",
"description": "起点 x,0-1 归一化坐标"
},
"y0": {
"type": "number",
"description": "起点 y,0-1 归一化坐标"
},
"x1": {
"type": "number",
"description": "终点 x,0-1 归一化坐标"
},
"y1": {
"type": "number",
"description": "终点 y,0-1 归一化坐标"
},
"r0": {
"type": "number",
"description": "径向渐变起点半径"
},
"r1": {
"type": "number",
"description": "径向渐变终点半径"
},
"gradientMethod": {
"type": "string",
"description": "渐变插值方法"
},
"stops": {
"type": "array",
"description": "渐变色标数组,至少 2 个",
"minItems": 2,
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "色标位置 0-1"
},
"color": {
"type": "string",
"description": "色标颜色"
},
"opacity": {
"type": "number",
"description": "色标透明度 0-1"
}
},
"required": [
"offset",
"color"
]
}
}
},
"required": [
"type",
"stops"
]
}
},
"required": [
"index"
]
}
}
}
}
},
"required": [
"index"
]
}
}
},
"required": [
"type"
]
},
"axes": {
"type": "array",
"description": "坐标轴配置数组",
"items": {
"type": "object",
"description": "坐标轴配置",
"properties": {
"type": {
"type": "string",
"description": "坐标轴类型",
"enum": [
"x",
"y",
"angle",
"radius"
]
},
"position": {
"type": "string",
"description": "坐标轴位置",
"enum": [
"left",
"right",
"bottom"
]
},
"max": {
"type": "number",
"description": "最大值"
},
"min": {
"type": "number",
"description": "最小值"
},
"valueType": {
"type": "string",
"description": "是否将横轴数字视为文本,linear 表示将数字视为数值, ordinal 表示将数字视为文本",
"enum": [
"ordinal",
"linear"
]
},
"title": {
"type": "object",
"description": "坐标轴标题配置",
"properties": {
"text": {
"type": "string",
"description": "标题文本"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
},
"required": [
"text"
]
},
"label": {
"type": "object",
"description": "坐标轴标签配置",
"properties": {
"angle": {
"type": "number",
"description": "旋转角度,可选值:-90, -45, 0, 45, 90"
},
"fontSize": {
"type": "number",
"description": "字体大小"
},
"bold": {
"type": "boolean",
"description": "是否加粗"
},
"italic": {
"type": "boolean",
"description": "是否斜体"
},
"underline": {
"type": "boolean",
"description": "是否下划线"
},
"strikethrough": {
"type": "boolean",
"description": "是否删除线"
},
"color": {
"type": "string",
"description": "字体颜色"
}
}
},
"axisLine": {
"type": "boolean",
"description": "是否显示轴线"
},
"gridLine": {
"oneOf": [
{
"type": "object",
"description": "网格线配置",
"properties": {
"width": {
"type": "number",
"description": "网格线宽度"
},
"color": {
"type": "string",
"description": "网格线颜色"
}
}
},
{
"type": "boolean",
"description": "false 表示隐藏网格线"
}
]
}
},
"required": [
"type"
]
}
}
},
"required": [
"plot"
]
},
"data": {
"type": "object",
"description": "图表数据配置",
"properties": {
"isStaticData": {
"type": "boolean",
"description": "是否为静态数据"
},
"includeHiddenOrFilter": {
"type": "boolean",
"description": "是否包含隐藏或过滤的数据"
},
"direction": {
"type": "string",
"description": "数据方向,可选值:row(行方向)或column(列方向),常用值为column",
"enum": [
"row",
"column"
]
},
"headerMode": {
"type": "string",
"description": "表头模式。inline 表示 refs 首行/首列就是表头;detached 表示 refs 仅覆盖实际数据范围,维度名和系列名需通过 nameRef 显式指定。",
"enum": [
"inline",
"detached"
]
},
"refs": {
"type": "array",
"description": "数据源引用范围数组",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "图表数据源范围,格式为 'SheetName!A1:D100' 的连续区域"
}
},
"required": [
"value"
]
}
},
"dim1": {
"type": "object",
"description": "维度1配置(类别维度)",
"properties": {
"serie": {
"type": "object",
"description": "系列配置(非静态数据时传此参数)",
"properties": {
"index": {
"type": "number",
"description": "系列索引,数据源从左往右,从 1 开始计数对应数据源的列索引;如果数据方向direction为 'row',则为从上往下,从 1 开始计数对应数据源的行索引"
},
"aggregate": {
"type": "boolean",
"description": "是否汇总相同的类别,默认为true,true 情况下 aggregateType 才生效"
},
"nameRef": {
"type": "string",
"description": "可选。维度名称的单元格引用(A1 表示法,如 'Sheet1!A1')。当维度名称不直接来自 refs 首行/首列时,可通过此字段把维度名显式指向目标表头单元格,图表会以该单元格当前值作为类别维度名展示。"
}
},
"required": [
"index"
]
},
"field": {
"type": "object",
"description": "字段配置(静态数据时传此参数)",
"properties": {
"valueType": {
"type": "string",
"description": "值类型",
"enum": [
"number",
"string"
]
},
"name": {
"type": "string",
"description": "字段名称"
},
"text": {
"type": "string",
"description": "字段文本数据"
}
},
"required": [
"text"
]
}
}
},
"dim2": {
"type": "object",
"description": "维度2配置(值维度)",
"properties": {
"series": {
"type": "array",
"description": "系列配置数组(非静态数据时传此参数)",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number",
"description": "系列索引,数据源从左往右,从 1 开始计数对应数据源的列索引;如果数据方向direction为 'row',则为从上往下,从 1 开始计数对应数据源的行索引"
},
"aggregateType": {
"type": "string",
"description": "汇总方式,默认为'sum',仅在 aggregate 为 true 时生效。count 只统计数值单元格;counta 统计所有非空单元格(含文本),按文本/分类列统计出现次数(如各类别的数量、频次分布)时用 counta。",
"enum": [
"sum",
"average",
"count",
"counta",
"min",
"max",
"median"
]
},
"nameRef": {
"type": "string",
"description": "可选。系列名称的单元格引用(A1 表示法,如 'Sheet1!C1')。当系列名称不直接来自 refs 首行/首列时,可通过此字段把系列名显式指向目标表头单元格,图表会以该单元格当前值作为系列名(图例/tooltip)展示。"
},
"role": {
"type": "string",
"description": "气泡图中该数据系列的角色:x 为横轴、y 为纵轴、group 为分组、size 为气泡大小。气泡图必须各有一个 x 和 y,group 和 size 可选。",
"enum": [
"x",
"y",
"group",
"size"
]
}
},
"required": [
"index"
]
}
},
"fields": {
"type": "array",
"description": "字段配置数组(静态数据时传此参数)",
"items": {
"type": "object",
"properties": {
"valueType": {
"type": "string",
"description": "值类型。x、y、size 角色使用 number;group 角色可使用 string 或 number。",
"enum": [
"number",
"string"
]
},
"role": {
"type": "string",
"description": "气泡图中该静态字段的角色:x 为横轴、y 为纵轴、group 为分组、size 为气泡大小。气泡图必须各有一个 x 和 y,group 和 size 可选。",
"enum": [
"x",
"y",
"group",
"size"
]
},
"format": {
"type": "string",
"description": "字段数值格式"
},
"name": {
"type": "string",
"description": "字段名称"
},
"text": {
"type": "string",
"description": "字段文本数据"
}
},
"required": [
"text"
]
}
}
}
}
}
}
},
"required": [
"plotArea",
"data"
]
},
{
"type": "object",
"description": "update 的局部图表快照变更"
}
]
}
}
}
},
"+cols-resize": {
"widths": {
"type": "object",
"description": "列 → 宽度 map。键:单列(\"A\")或列闭区间(\"C:E\");值:正整数像素宽(如 80 / 120 / 200;⚠️ 单位是像素,不是 Excel 字符单位,像素 ≈ 字符数×8+16)或 \"standard\"(重置为默认列宽)。列宽不支持 \"auto\"。",
"additionalProperties": {
"oneOf": [
{
"type": "integer",
"minimum": 1,
"description": "像素宽度(宽度 < 20px 会被 CLI 拒绝并提示疑似字符单位)"
},
{
"type": "string",
"enum": [
"standard"
],
"description": "重置为默认列宽"
}
]
}
}
},
"+cond-format-create": {
"properties": {
"description": "创建/更新的条件格式属性。",
"type": "object",
"properties": {
"rule_type": {
"type": "string",
"enum": [
"duplicateValues",
"uniqueValues",
"cellIs",
"containsText",
"timePeriod",
"containsBlanks",
"notContainsBlanks",
"dataBar",
"colorScale",
"rank",
"aboveAverage",
"expression",
"iconSet"
],
"description": "条件格式规则类型。"
},
"ranges": {
"type": "array",
"description": "应用条件格式的 A1 范围列表。每个元素支持:矩形范围 \"A1:A10\"、整行 \"3:6\"、整列 \"C:C\"、某一格到列尾 \"D3:D\"、某一格到行尾 \"D3:3\"。例如 [\"A1:A10\",\"C:C\"]。",
"items": {
"type": "string"
}
},
"style": {
"type": "object",
"description": "命中规则时应用的单元格样式。",
"properties": {
"back_color": {
"type": "string",
"description": "背景色,CSS 十六进制表示,例如 \"#FF0000\"。"
},
"fore_color": {
"type": "string",
"description": "前景色/字体颜色。"
},
"text_decoration": {
"type": "string",
"enum": [
"none",
"underline",
"strikethrough",
"underline_strikethrough"
],
"description": "文字装饰:none=无,underline=下划线,strikethrough=删除线,underline_strikethrough=下划线+删除线。"
},
"font": {
"type": "string",
"enum": [
"bold",
"italic",
"bold italic"
],
"description": "字体样式:\"bold\"=加粗,\"italic\"=斜体,\"bold italic\"=加粗+斜体。"
}
}
},
"attrs": {
"type": "array",
"description": "规则参数列表。不同 rule_type 下取值结构不同。当 rule_type 为 dataBar 时,attrs 必须包含两个对象,分别定义正值和负值的数据条颜色。",
"items": {
"oneOf": [
{
"type": "object",
"description": "数值比较类规则参数。",
"properties": {
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
],
"description": "比较运算符。"
},
"value": {
"type": "string",
"description": "用于比较的值,例如 \"100\"、\"hello\"。between/notBetween 时用逗号分隔两个值。"
}
},
"required": [
"compare_type",
"value"
]
},
{
"type": "object",
"description": "文本包含类规则参数。",
"properties": {
"text": {
"type": "string",
"description": "用于匹配的文本内容。"
},
"compare_type": {
"type": "string",
"enum": [
"beginsWith",
"endsWith",
"containsText",
"notContains",
"is"
],
"description": "文本匹配方式。"
}
},
"required": [
"compare_type",
"text"
]
},
{
"type": "object",
"description": "时间段类规则参数。",
"properties": {
"operator": {
"type": "string",
"enum": [
"before",
"is",
"after"
],
"description": "与指定时间段的比较关系。"
},
"time_period": {
"type": "string",
"enum": [
"today",
"yesterday",
"tomorrow",
"last7Days",
"thisMonth",
"lastMonth",
"nextMonth",
"thisWeek",
"lastWeek",
"nextWeek"
],
"description": "时间段类型。"
}
},
"required": [
"operator",
"time_period"
]
},
{
"type": "object",
"description": "数据条规则参数。",
"properties": {
"gradient": {
"type": "boolean",
"description": "是否使用渐变色数据条。"
},
"value": {
"type": "number",
"description": "阈值或比例值,含义由 value_type 决定。"
},
"color": {
"type": "string",
"description": "主颜色,例如 \"#63BE7B\"。"
},
"hide_value": {
"type": "boolean",
"description": "是否隐藏单元格中的原始值,仅显示数据条。"
},
"value_type": {
"type": "string",
"enum": [
"minValue",
"maxValue",
"num",
"percentile",
"percent",
"formula",
"auto"
],
"description": "阈值类型。"
}
},
"required": [
"color",
"value_type"
]
},
{
"type": "object",
"description": "色阶规则中的单个分段。ColorScaleAttrs 由 2 或 3 个该对象组成,分别表示最小值/中间值/最大值。",
"properties": {
"value_type": {
"type": "string",
"enum": [
"minValue",
"maxValue",
"num",
"percentile",
"percent",
"formula",
"auto"
],
"description": "阈值类型。"
},
"value": {
"type": "number",
"description": "阈值数值,例如百分位或具体数值。"
},
"color": {
"type": "string",
"description": "该分段对应的颜色。"
}
},
"required": [
"value_type",
"color"
]
},
{
"type": "object",
"description": "前 N/后 N 规则参数。",
"properties": {
"is_bottom": {
"type": "boolean",
"description": "是否选取最后 N 个。true 表示最后 N 个,false 表示前 N 个。"
},
"value_type": {
"type": "string",
"enum": [
"percent",
"sort"
],
"description": "排名方式:percent 表示百分比,sort 表示按条目数。"
},
"value": {
"type": "number",
"description": "N 或百分比数值。"
}
},
"required": [
"is_bottom",
"value_type"
]
},
{
"type": "object",
"description": "平均值规则参数。",
"properties": {
"operator": {
"type": "string",
"enum": [
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual"
],
"description": "与平均值的比较关系。"
}
},
"required": [
"operator"
]
},
{
"type": "object",
"description": "自定义公式规则参数。",
"properties": {
"formula": {
"type": "array",
"items": {
"type": "string"
},
"description": "条件公式列表,例如 [\"=A1>0\"]。"
}
},
"required": [
"formula"
]
},
{
"type": "object",
"description": "图标集规则参数。",
"properties": {
"icon_type": {
"type": "string",
"enum": [
"3Arrows",
"3ArrowsGray",
"3Triangles",
"4ArrowsGray",
"4Arrows",
"5ArrowsGray",
"5Arrows",
"3Circles",
"3MultiGraphics",
"4Circles",
"5Circles",
"2Status",
"3Status",
"2CommentStatus",
"3Flags",
"3Stars",
"3HeartShaped",
"3Mood",
"5CirclesRatio"
],
"description": "图标集类型。其中 3Circles/4Circles/5Circles 为不同颜色的实心圆(如红、黄、绿),用于表示状态等级;5CirclesRatio 为不同填充比例的圆(从空心◯到半圆◑到满圆●),用于表示完成度、进度、比例。当涉及半圆、满圆、空心圆、填充比例、进度等场景时,应选择 5CirclesRatio。"
},
"hide_value": {
"type": "boolean",
"description": "是否隐藏单元格原始值,仅显示图标。"
},
"value_type": {
"type": "string",
"enum": [
"minValue",
"maxValue",
"num",
"percentile",
"percent",
"formula",
"auto"
],
"description": "阈值类型。"
},
"operator": {
"type": "string",
"enum": [
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual"
],
"description": "与阈值的比较关系。"
},
"value": {
"type": "number",
"description": "用于比较的数值,含义由 value_type 决定。"
},
"reverse_icons": {
"type": "boolean",
"description": "是否反转图标顺序。"
}
},
"required": [
"icon_type",
"value_type",
"operator"
]
}
]
}
},
"has_ref": {
"type": "boolean",
"description": "可选。是否存在引用,用于标记规则是否依赖其他对象。"
}
},
"required": [
"rule_type",
"ranges",
"style"
]
}
},
"+cond-format-update": {
"properties": {
"description": "创建/更新的条件格式属性。",
"type": "object",
"properties": {
"rule_type": {
"type": "string",
"enum": [
"duplicateValues",
"uniqueValues",
"cellIs",
"containsText",
"timePeriod",
"containsBlanks",
"notContainsBlanks",
"dataBar",
"colorScale",
"rank",
"aboveAverage",
"expression",
"iconSet"
],
"description": "条件格式规则类型。"
},
"ranges": {
"type": "array",
"description": "应用条件格式的 A1 范围列表。每个元素支持:矩形范围 \"A1:A10\"、整行 \"3:6\"、整列 \"C:C\"、某一格到列尾 \"D3:D\"、某一格到行尾 \"D3:3\"。例如 [\"A1:A10\",\"C:C\"]。",
"items": {
"type": "string"
}
},
"style": {
"type": "object",
"description": "命中规则时应用的单元格样式。",
"properties": {
"back_color": {
"type": "string",
"description": "背景色,CSS 十六进制表示,例如 \"#FF0000\"。"
},
"fore_color": {
"type": "string",
"description": "前景色/字体颜色。"
},
"text_decoration": {
"type": "string",
"enum": [
"none",
"underline",
"strikethrough",
"underline_strikethrough"
],
"description": "文字装饰:none=无,underline=下划线,strikethrough=删除线,underline_strikethrough=下划线+删除线。"
},
"font": {
"type": "string",
"enum": [
"bold",
"italic",
"bold italic"
],
"description": "字体样式:\"bold\"=加粗,\"italic\"=斜体,\"bold italic\"=加粗+斜体。"
}
}
},
"attrs": {
"type": "array",
"description": "规则参数列表。不同 rule_type 下取值结构不同。当 rule_type 为 dataBar 时,attrs 必须包含两个对象,分别定义正值和负值的数据条颜色。",
"items": {
"oneOf": [
{
"type": "object",
"description": "数值比较类规则参数。",
"properties": {
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
],
"description": "比较运算符。"
},
"value": {
"type": "string",
"description": "用于比较的值,例如 \"100\"、\"hello\"。between/notBetween 时用逗号分隔两个值。"
}
},
"required": [
"compare_type",
"value"
]
},
{
"type": "object",
"description": "文本包含类规则参数。",
"properties": {
"text": {
"type": "string",
"description": "用于匹配的文本内容。"
},
"compare_type": {
"type": "string",
"enum": [
"beginsWith",
"endsWith",
"containsText",
"notContains",
"is"
],
"description": "文本匹配方式。"
}
},
"required": [
"compare_type",
"text"
]
},
{
"type": "object",
"description": "时间段类规则参数。",
"properties": {
"operator": {
"type": "string",
"enum": [
"before",
"is",
"after"
],
"description": "与指定时间段的比较关系。"
},
"time_period": {
"type": "string",
"enum": [
"today",
"yesterday",
"tomorrow",
"last7Days",
"thisMonth",
"lastMonth",
"nextMonth",
"thisWeek",
"lastWeek",
"nextWeek"
],
"description": "时间段类型。"
}
},
"required": [
"operator",
"time_period"
]
},
{
"type": "object",
"description": "数据条规则参数。",
"properties": {
"gradient": {
"type": "boolean",
"description": "是否使用渐变色数据条。"
},
"value": {
"type": "number",
"description": "阈值或比例值,含义由 value_type 决定。"
},
"color": {
"type": "string",
"description": "主颜色,例如 \"#63BE7B\"。"
},
"hide_value": {
"type": "boolean",
"description": "是否隐藏单元格中的原始值,仅显示数据条。"
},
"value_type": {
"type": "string",
"enum": [
"minValue",
"maxValue",
"num",
"percentile",
"percent",
"formula",
"auto"
],
"description": "阈值类型。"
}
},
"required": [
"color",
"value_type"
]
},
{
"type": "object",
"description": "色阶规则中的单个分段。ColorScaleAttrs 由 2 或 3 个该对象组成,分别表示最小值/中间值/最大值。",
"properties": {
"value_type": {
"type": "string",
"enum": [
"minValue",
"maxValue",
"num",
"percentile",
"percent",
"formula",
"auto"
],
"description": "阈值类型。"
},
"value": {
"type": "number",
"description": "阈值数值,例如百分位或具体数值。"
},
"color": {
"type": "string",
"description": "该分段对应的颜色。"
}
},
"required": [
"value_type",
"color"
]
},
{
"type": "object",
"description": "前 N/后 N 规则参数。",
"properties": {
"is_bottom": {
"type": "boolean",
"description": "是否选取最后 N 个。true 表示最后 N 个,false 表示前 N 个。"
},
"value_type": {
"type": "string",
"enum": [
"percent",
"sort"
],
"description": "排名方式:percent 表示百分比,sort 表示按条目数。"
},
"value": {
"type": "number",
"description": "N 或百分比数值。"
}
},
"required": [
"is_bottom",
"value_type"
]
},
{
"type": "object",
"description": "平均值规则参数。",
"properties": {
"operator": {
"type": "string",
"enum": [
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual"
],
"description": "与平均值的比较关系。"
}
},
"required": [
"operator"
]
},
{
"type": "object",
"description": "自定义公式规则参数。",
"properties": {
"formula": {
"type": "array",
"items": {
"type": "string"
},
"description": "条件公式列表,例如 [\"=A1>0\"]。"
}
},
"required": [
"formula"
]
},
{
"type": "object",
"description": "图标集规则参数。",
"properties": {
"icon_type": {
"type": "string",
"enum": [
"3Arrows",
"3ArrowsGray",
"3Triangles",
"4ArrowsGray",
"4Arrows",
"5ArrowsGray",
"5Arrows",
"3Circles",
"3MultiGraphics",
"4Circles",
"5Circles",
"2Status",
"3Status",
"2CommentStatus",
"3Flags",
"3Stars",
"3HeartShaped",
"3Mood",
"5CirclesRatio"
],
"description": "图标集类型。其中 3Circles/4Circles/5Circles 为不同颜色的实心圆(如红、黄、绿),用于表示状态等级;5CirclesRatio 为不同填充比例的圆(从空心◯到半圆◑到满圆●),用于表示完成度、进度、比例。当涉及半圆、满圆、空心圆、填充比例、进度等场景时,应选择 5CirclesRatio。"
},
"hide_value": {
"type": "boolean",
"description": "是否隐藏单元格原始值,仅显示图标。"
},
"value_type": {
"type": "string",
"enum": [
"minValue",
"maxValue",
"num",
"percentile",
"percent",
"formula",
"auto"
],
"description": "阈值类型。"
},
"operator": {
"type": "string",
"enum": [
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual"
],
"description": "与阈值的比较关系。"
},
"value": {
"type": "number",
"description": "用于比较的数值,含义由 value_type 决定。"
},
"reverse_icons": {
"type": "boolean",
"description": "是否反转图标顺序。"
}
},
"required": [
"icon_type",
"value_type",
"operator"
]
}
]
}
},
"has_ref": {
"type": "boolean",
"description": "可选。是否存在引用,用于标记规则是否依赖其他对象。"
}
},
"required": [
"rule_type",
"ranges",
"style"
]
}
},
"+dropdown-set": {
"options": {
"description": "列表选项",
"type": "array",
"items": {
"type": "string"
}
}
},
"+dropdown-update": {
"options": {
"description": "列表选项",
"type": "array",
"items": {
"type": "string"
}
}
},
"+filter-create": {
"properties": {
"description": "创建/更新的筛选器属性。",
"type": "object",
"properties": {
"range": {
"type": "string",
"description": "筛选对象作用的单元格范围(A1 表示法)。支持:矩形范围 \"A1:D100\"、整行 \"3:6\"、整列 \"C:E\"、某一格到列尾 \"D3:D\"、某一格到行尾 \"D3:3\"。"
},
"rules": {
"type": "array",
"description": "列级筛选规则列表,每一项对应一个具体列的筛选条件。update 为整组覆盖(PUT 语义):传入的 rules 即更新后的完整规则集,会先清空所有现有列的旧规则再应用,未列出的列其旧规则会被清除(不与旧规则合并);传空数组 [] 即清空所有列的规则。",
"items": {
"type": "object",
"description": "单列筛选规则。",
"properties": {
"column_index": {
"type": "string",
"description": "作用的列索引,例如 \"A\"、\"B\"。"
},
"conditions": {
"type": "array",
"description": "该列上的条件列表。**目前每列仅支持 1 个 condition**(传入多个会被拒绝,请用 multiValue 或单条件表达),数组形式为未来扩展多条件组合预留。",
"items": {
"oneOf": [
{
"type": "object",
"description": "文本条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
],
"description": "条件类型固定为 \"text\"。"
},
"compare_type": {
"type": "string",
"enum": [
"beginsWith",
"doesNotBeginWith",
"endsWith",
"doesNotEndWith",
"contains",
"doesNotContain",
"equals",
"notEquals"
],
"description": "文本比较方式:beginsWith=以指定文本开头,doesNotBeginWith=不以指定文本开头,endsWith=以指定文本结尾,doesNotEndWith=不以指定文本结尾,contains=包含,doesNotContain=不包含,equals=等于,notEquals=不等于。"
},
"values": {
"type": "array",
"description": "可选。用于比较的文本值列表,只需要提供一个值,例如 [\"华东\"]。",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "数值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
],
"description": "条件类型固定为 \"number\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
],
"description": "数值比较方式,例如 greaterThan=大于、between=介于两个值之间。"
},
"values": {
"type": "array",
"description": "可选。用于比较的数值参数列表。大多数比较运算需要 1 个值(如 [5000]),between/notBetween 需要 2 个值(如 [1000, 5000])。",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "颜色条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"color"
],
"description": "条件类型固定为 \"color\"。"
},
"compare_type": {
"type": "string",
"enum": [
"backgroundColor",
"foregroundColor"
],
"description": "颜色比较类型:backgroundColor=按单元格背景色,foregroundColor=按字体颜色。"
},
"value": {
"type": "string",
"description": "可选。用于匹配的颜色值,使用十六进制颜色字符串,例如 \"#FF0000\"。"
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "多值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"multiValue"
],
"description": "条件类型固定为 \"multiValue\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual"
],
"description": "多值比较方式:equal=仅保留 values 中的值,notEqual=排除 values 中的值。"
},
"values": {
"type": "array",
"description": "可选。参与筛选的枚举值列表,例如 [\"华东\", \"华南\"]。",
"items": {
"type": "string"
}
},
"date_groups": {
"type": "array",
"description": "可选。年月日等聚合筛选信息。",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"month": {
"type": "number"
},
"day": {
"type": "number"
},
"hour": {
"type": "number"
},
"minute": {
"type": "number"
},
"second": {
"type": "number"
},
"date_time_grouping": {
"type": "string",
"enum": [
"year",
"month",
"day",
"hour",
"minute",
"second"
]
}
}
}
}
},
"required": [
"type",
"compare_type"
]
}
]
}
},
"filtered_rows": {
"type": "array",
"description": "可选。由该列条件直接导致被隐藏的行索引列表(0-based),用于调试或回显。",
"items": {
"type": "number"
}
}
},
"required": [
"column_index",
"conditions"
]
}
},
"filtered_columns": {
"type": "array",
"description": "可选。拥有激活筛选条件的列索引列表,如 [\"A\", \"B\"],通常等价于 rules 中出现的列索引集合。",
"items": {
"type": "string"
}
}
},
"required": [
"range",
"rules"
]
}
},
"+filter-update": {
"properties": {
"description": "创建/更新的筛选器属性。",
"type": "object",
"properties": {
"range": {
"type": "string",
"description": "筛选对象作用的单元格范围(A1 表示法)。支持:矩形范围 \"A1:D100\"、整行 \"3:6\"、整列 \"C:E\"、某一格到列尾 \"D3:D\"、某一格到行尾 \"D3:3\"。"
},
"rules": {
"type": "array",
"description": "列级筛选规则列表,每一项对应一个具体列的筛选条件。update 为整组覆盖(PUT 语义):传入的 rules 即更新后的完整规则集,会先清空所有现有列的旧规则再应用,未列出的列其旧规则会被清除(不与旧规则合并);传空数组 [] 即清空所有列的规则。",
"items": {
"type": "object",
"description": "单列筛选规则。",
"properties": {
"column_index": {
"type": "string",
"description": "作用的列索引,例如 \"A\"、\"B\"。"
},
"conditions": {
"type": "array",
"description": "该列上的条件列表。**目前每列仅支持 1 个 condition**(传入多个会被拒绝,请用 multiValue 或单条件表达),数组形式为未来扩展多条件组合预留。",
"items": {
"oneOf": [
{
"type": "object",
"description": "文本条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
],
"description": "条件类型固定为 \"text\"。"
},
"compare_type": {
"type": "string",
"enum": [
"beginsWith",
"doesNotBeginWith",
"endsWith",
"doesNotEndWith",
"contains",
"doesNotContain",
"equals",
"notEquals"
],
"description": "文本比较方式:beginsWith=以指定文本开头,doesNotBeginWith=不以指定文本开头,endsWith=以指定文本结尾,doesNotEndWith=不以指定文本结尾,contains=包含,doesNotContain=不包含,equals=等于,notEquals=不等于。"
},
"values": {
"type": "array",
"description": "可选。用于比较的文本值列表,只需要提供一个值,例如 [\"华东\"]。",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "数值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
],
"description": "条件类型固定为 \"number\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
],
"description": "数值比较方式,例如 greaterThan=大于、between=介于两个值之间。"
},
"values": {
"type": "array",
"description": "可选。用于比较的数值参数列表。大多数比较运算需要 1 个值(如 [5000]),between/notBetween 需要 2 个值(如 [1000, 5000])。",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "颜色条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"color"
],
"description": "条件类型固定为 \"color\"。"
},
"compare_type": {
"type": "string",
"enum": [
"backgroundColor",
"foregroundColor"
],
"description": "颜色比较类型:backgroundColor=按单元格背景色,foregroundColor=按字体颜色。"
},
"value": {
"type": "string",
"description": "可选。用于匹配的颜色值,使用十六进制颜色字符串,例如 \"#FF0000\"。"
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "多值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"multiValue"
],
"description": "条件类型固定为 \"multiValue\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual"
],
"description": "多值比较方式:equal=仅保留 values 中的值,notEqual=排除 values 中的值。"
},
"values": {
"type": "array",
"description": "可选。参与筛选的枚举值列表,例如 [\"华东\", \"华南\"]。",
"items": {
"type": "string"
}
},
"date_groups": {
"type": "array",
"description": "可选。年月日等聚合筛选信息。",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"month": {
"type": "number"
},
"day": {
"type": "number"
},
"hour": {
"type": "number"
},
"minute": {
"type": "number"
},
"second": {
"type": "number"
},
"date_time_grouping": {
"type": "string",
"enum": [
"year",
"month",
"day",
"hour",
"minute",
"second"
]
}
}
}
}
},
"required": [
"type",
"compare_type"
]
}
]
}
},
"filtered_rows": {
"type": "array",
"description": "可选。由该列条件直接导致被隐藏的行索引列表(0-based),用于调试或回显。",
"items": {
"type": "number"
}
}
},
"required": [
"column_index",
"conditions"
]
}
},
"filtered_columns": {
"type": "array",
"description": "可选。拥有激活筛选条件的列索引列表,如 [\"A\", \"B\"],通常等价于 rules 中出现的列索引集合。",
"items": {
"type": "string"
}
}
},
"required": [
"range",
"rules"
]
}
},
"+filter-view-create": {
"properties": {
"description": "create / update 的视图属性。create 必须传 range;update 至少传 view_name / range / rules 之一。delete 禁止传该字段。",
"type": "object",
"properties": {
"view_name": {
"type": "string",
"description": "可选。视图名称。create 不传时系统自动分配;create / update 传入时若与现有视图重名,会自动以后缀避让,不会抛错。"
},
"range": {
"type": "string",
"description": "视图作用的单元格范围(A1 表示法)。create 必填;update 可选——未提供时沿用视图当前 range。支持:矩形范围 \"A1:D100\"、整行 \"3:6\"、整列 \"C:E\"、某一格到列尾 \"D3:D\"、某一格到行尾 \"D3:3\"。"
},
"rules": {
"type": "array",
"description": "列级筛选规则列表,每一项对应一个具体列的筛选条件。结构与 manage_filter_object.properties.rules 完全一致。update 同样为整组覆盖(PUT 语义):传入的 rules 整组替换该视图所有列的规则,未列出的列其旧规则会被清除(不与旧规则合并),传空数组 [] 即清空全部。",
"items": {
"type": "object",
"description": "单列筛选规则。",
"properties": {
"column_index": {
"type": "string",
"description": "作用的列索引,例如 \"A\"、\"B\"。"
},
"conditions": {
"type": "array",
"description": "该列上的条件列表。**目前每列仅支持 1 个 condition**(传入多个会被拒绝,请用 multiValue 或单条件表达),数组形式为未来扩展多条件组合预留。",
"items": {
"oneOf": [
{
"type": "object",
"description": "文本条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
],
"description": "条件类型固定为 \"text\"。"
},
"compare_type": {
"type": "string",
"enum": [
"beginsWith",
"doesNotBeginWith",
"endsWith",
"doesNotEndWith",
"contains",
"doesNotContain",
"equals",
"notEquals"
],
"description": "文本比较方式:beginsWith=以指定文本开头,doesNotBeginWith=不以指定文本开头,endsWith=以指定文本结尾,doesNotEndWith=不以指定文本结尾,contains=包含,doesNotContain=不包含,equals=等于,notEquals=不等于。"
},
"values": {
"type": "array",
"description": "可选。用于比较的文本值列表,只需要提供一个值,例如 [\"华东\"]。",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "数值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
],
"description": "条件类型固定为 \"number\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
],
"description": "数值比较方式,例如 greaterThan=大于、between=介于两个值之间。"
},
"values": {
"type": "array",
"description": "可选。用于比较的数值参数列表。大多数比较运算需要 1 个值(如 [5000]),between/notBetween 需要 2 个值(如 [1000, 5000])。",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "颜色条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"color"
],
"description": "条件类型固定为 \"color\"。"
},
"compare_type": {
"type": "string",
"enum": [
"backgroundColor",
"foregroundColor"
],
"description": "颜色比较类型:backgroundColor=按单元格背景色,foregroundColor=按字体颜色。"
},
"value": {
"type": "string",
"description": "可选。用于匹配的颜色值,使用十六进制颜色字符串,例如 \"#FF0000\"。"
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "多值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"multiValue"
],
"description": "条件类型固定为 \"multiValue\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual"
],
"description": "多值比较方式:equal=仅保留 values 中的值,notEqual=排除 values 中的值。"
},
"values": {
"type": "array",
"description": "可选。参与筛选的枚举值列表,例如 [\"华东\", \"华南\"]。",
"items": {
"type": "string"
}
},
"date_groups": {
"type": "array",
"description": "可选。年月日等聚合筛选信息。",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"month": {
"type": "number"
},
"day": {
"type": "number"
},
"hour": {
"type": "number"
},
"minute": {
"type": "number"
},
"second": {
"type": "number"
},
"date_time_grouping": {
"type": "string",
"enum": [
"year",
"month",
"day",
"hour",
"minute",
"second"
]
}
}
}
}
},
"required": [
"type",
"compare_type"
]
}
]
}
},
"filtered_rows": {
"type": "array",
"description": "可选。由该列条件直接导致被隐藏的行索引列表(0-based),用于调试或回显。",
"items": {
"type": "number"
}
}
},
"required": [
"column_index",
"conditions"
]
}
},
"filtered_columns": {
"type": "array",
"description": "可选。拥有激活筛选条件的列索引列表,如 [\"A\", \"B\"],通常等价于 rules 中出现的列索引集合。",
"items": {
"type": "string"
}
}
}
}
},
"+filter-view-update": {
"properties": {
"description": "create / update 的视图属性。create 必须传 range;update 至少传 view_name / range / rules 之一。delete 禁止传该字段。",
"type": "object",
"properties": {
"view_name": {
"type": "string",
"description": "可选。视图名称。create 不传时系统自动分配;create / update 传入时若与现有视图重名,会自动以后缀避让,不会抛错。"
},
"range": {
"type": "string",
"description": "视图作用的单元格范围(A1 表示法)。create 必填;update 可选——未提供时沿用视图当前 range。支持:矩形范围 \"A1:D100\"、整行 \"3:6\"、整列 \"C:E\"、某一格到列尾 \"D3:D\"、某一格到行尾 \"D3:3\"。"
},
"rules": {
"type": "array",
"description": "列级筛选规则列表,每一项对应一个具体列的筛选条件。结构与 manage_filter_object.properties.rules 完全一致。update 同样为整组覆盖(PUT 语义):传入的 rules 整组替换该视图所有列的规则,未列出的列其旧规则会被清除(不与旧规则合并),传空数组 [] 即清空全部。",
"items": {
"type": "object",
"description": "单列筛选规则。",
"properties": {
"column_index": {
"type": "string",
"description": "作用的列索引,例如 \"A\"、\"B\"。"
},
"conditions": {
"type": "array",
"description": "该列上的条件列表。**目前每列仅支持 1 个 condition**(传入多个会被拒绝,请用 multiValue 或单条件表达),数组形式为未来扩展多条件组合预留。",
"items": {
"oneOf": [
{
"type": "object",
"description": "文本条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
],
"description": "条件类型固定为 \"text\"。"
},
"compare_type": {
"type": "string",
"enum": [
"beginsWith",
"doesNotBeginWith",
"endsWith",
"doesNotEndWith",
"contains",
"doesNotContain",
"equals",
"notEquals"
],
"description": "文本比较方式:beginsWith=以指定文本开头,doesNotBeginWith=不以指定文本开头,endsWith=以指定文本结尾,doesNotEndWith=不以指定文本结尾,contains=包含,doesNotContain=不包含,equals=等于,notEquals=不等于。"
},
"values": {
"type": "array",
"description": "可选。用于比较的文本值列表,只需要提供一个值,例如 [\"华东\"]。",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "数值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
],
"description": "条件类型固定为 \"number\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual",
"greaterThan",
"greaterThanOrEqual",
"lessThan",
"lessThanOrEqual",
"between",
"notBetween"
],
"description": "数值比较方式,例如 greaterThan=大于、between=介于两个值之间。"
},
"values": {
"type": "array",
"description": "可选。用于比较的数值参数列表。大多数比较运算需要 1 个值(如 [5000]),between/notBetween 需要 2 个值(如 [1000, 5000])。",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "颜色条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"color"
],
"description": "条件类型固定为 \"color\"。"
},
"compare_type": {
"type": "string",
"enum": [
"backgroundColor",
"foregroundColor"
],
"description": "颜色比较类型:backgroundColor=按单元格背景色,foregroundColor=按字体颜色。"
},
"value": {
"type": "string",
"description": "可选。用于匹配的颜色值,使用十六进制颜色字符串,例如 \"#FF0000\"。"
}
},
"required": [
"type",
"compare_type"
]
},
{
"type": "object",
"description": "多值条件筛选。",
"properties": {
"type": {
"type": "string",
"enum": [
"multiValue"
],
"description": "条件类型固定为 \"multiValue\"。"
},
"compare_type": {
"type": "string",
"enum": [
"equal",
"notEqual"
],
"description": "多值比较方式:equal=仅保留 values 中的值,notEqual=排除 values 中的值。"
},
"values": {
"type": "array",
"description": "可选。参与筛选的枚举值列表,例如 [\"华东\", \"华南\"]。",
"items": {
"type": "string"
}
},
"date_groups": {
"type": "array",
"description": "可选。年月日等聚合筛选信息。",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"month": {
"type": "number"
},
"day": {
"type": "number"
},
"hour": {
"type": "number"
},
"minute": {
"type": "number"
},
"second": {
"type": "number"
},
"date_time_grouping": {
"type": "string",
"enum": [
"year",
"month",
"day",
"hour",
"minute",
"second"
]
}
}
}
}
},
"required": [
"type",
"compare_type"
]
}
]
}
},
"filtered_rows": {
"type": "array",
"description": "可选。由该列条件直接导致被隐藏的行索引列表(0-based),用于调试或回显。",
"items": {
"type": "number"
}
}
},
"required": [
"column_index",
"conditions"
]
}
},
"filtered_columns": {
"type": "array",
"description": "可选。拥有激活筛选条件的列索引列表,如 [\"A\", \"B\"],通常等价于 rules 中出现的列索引集合。",
"items": {
"type": "string"
}
}
}
}
},
"+pivot-create": {
"properties": {
"description": "创建/更新的透视表属性。",
"type": "object",
"properties": {
"range": {
"type": "string",
"description": "放置透视表的左上角单元格 A1 地址(例如:'F1')(仅 create 时有效)。可省略——省略后透视表放在新建子表的 A1 位置。"
},
"source": {
"type": "string",
"description": "源数据区域地址,格式为 'SheetName!StartCell:EndCell'(例如:'Sheet1!A1:D100')。create 时必填;update 时提供则切换数据源。"
},
"rows": {
"description": "纵向分组字段(行字段)",
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "源数据中的字段名(OOXML 字段引用)"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名。不传则使用源字段原名。仅在用户明确要求重命名时使用;否则保持源字段原名,透视表产物已足够清晰。"
},
"sort": {
"type": "object",
"description": "排序配置",
"properties": {
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "排序方向"
},
"by": {
"type": "string",
"enum": [
"label",
"value"
],
"description": "'label' = 按字段标签排序(默认),'value' = 按某个值字段的汇总结果排序"
},
"value_field": {
"type": "string",
"description": "by='value' 时必填,指定按哪个值字段排序"
}
},
"required": [
"order"
]
},
"filter": {
"type": "object",
"description": "快速筛选:只显示指定的项目",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "要显示的项目列表(其余项目被隐藏)"
}
},
"required": [
"items"
]
},
"condition_filter": {
"type": "object",
"description": "条件筛选:按文本/数值/日期条件筛选",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "条件类型"
},
"operator": {
"type": "string",
"description": "text: equals|notEquals|contains|notContains|beginsWith|notBeginsWith|endsWith|notEndsWith|empty|notEmpty; number: equals|notEquals|greaterThan|greaterThanOrEqual|lessThan|lessThanOrEqual|between|notBetween; date: equals|notEquals|earlierThan|earlierThanOrEqual|laterThan|laterThanOrEqual|between|notBetween|today|yesterday|tomorrow|thisWeek|lastWeek|nextWeek|thisMonth|lastMonth|nextMonth|thisQuarter|lastQuarter|nextQuarter|thisYear|lastYear|nextYear|yearToDate|quarter|month"
},
"value": {
"description": "比较值"
},
"value2": {
"description": "'between'/'notBetween' 的第二个边界值"
}
},
"required": [
"type",
"operator"
]
},
"group": {
"type": "object",
"description": "分组配置",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"number",
"element"
],
"description": "分组类型"
},
"date_group_by": {
"type": "string",
"enum": [
"year",
"yearMonth",
"yearQuarter",
"yearMonthDate",
"quarter",
"month",
"monthDate",
"date",
"hour",
"hourMinute",
"minute"
],
"description": "日期分组粒度(type='date' 时必填)"
},
"interval": {
"type": "number",
"description": "数值分组间隔(type='number' 时必填)"
},
"start": {
"type": "number",
"description": "数值分组起始值"
},
"end": {
"type": "number",
"description": "数值分组结束值"
},
"groups": {
"type": "object",
"description": "元素分组:组名 -> 项目列表(type='element' 时必填)",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"type"
]
}
},
"required": [
"field"
]
}
},
"columns": {
"description": "横向分组字段(列字段)",
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "源数据中的字段名(OOXML 字段引用)"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名。不传则使用源字段原名。仅在用户明确要求重命名时使用。"
},
"sort": {
"type": "object",
"description": "排序配置",
"properties": {
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "排序方向"
},
"by": {
"type": "string",
"enum": [
"label",
"value"
],
"description": "'label' = 按字段标签排序(默认),'value' = 按某个值字段的汇总结果排序"
},
"value_field": {
"type": "string",
"description": "by='value' 时必填,指定按哪个值字段排序"
}
},
"required": [
"order"
]
},
"filter": {
"type": "object",
"description": "快速筛选:只显示指定的项目",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "要显示的项目列表(其余项目被隐藏)"
}
},
"required": [
"items"
]
},
"condition_filter": {
"type": "object",
"description": "条件筛选:按文本/数值/日期条件筛选",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "条件类型"
},
"operator": {
"type": "string",
"description": "text: equals|notEquals|contains|notContains|beginsWith|notBeginsWith|endsWith|notEndsWith|empty|notEmpty; number: equals|notEquals|greaterThan|greaterThanOrEqual|lessThan|lessThanOrEqual|between|notBetween; date: equals|notEquals|earlierThan|earlierThanOrEqual|laterThan|laterThanOrEqual|between|notBetween|today|yesterday|tomorrow|thisWeek|lastWeek|nextWeek|thisMonth|lastMonth|nextMonth|thisQuarter|lastQuarter|nextQuarter|thisYear|lastYear|nextYear|yearToDate|quarter|month"
},
"value": {
"description": "比较值"
},
"value2": {
"description": "'between'/'notBetween' 的第二个边界值"
}
},
"required": [
"type",
"operator"
]
},
"group": {
"type": "object",
"description": "分组配置",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"number",
"element"
],
"description": "分组类型"
},
"date_group_by": {
"type": "string",
"enum": [
"year",
"yearMonth",
"yearQuarter",
"yearMonthDate",
"quarter",
"month",
"monthDate",
"date",
"hour",
"hourMinute",
"minute"
],
"description": "日期分组粒度(type='date' 时必填)"
},
"interval": {
"type": "number",
"description": "数值分组间隔(type='number' 时必填)"
},
"start": {
"type": "number",
"description": "数值分组起始值"
},
"end": {
"type": "number",
"description": "数值分组结束值"
},
"groups": {
"type": "object",
"description": "元素分组:组名 -> 项目列表(type='element' 时必填)",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"type"
]
}
},
"required": [
"field"
]
}
},
"filters": {
"description": "筛选区域字段(页字段)",
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "源数据中的字段名(OOXML 字段引用)"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名。不传则使用源字段原名。仅在用户明确要求重命名时使用。"
},
"filter": {
"type": "object",
"description": "快速筛选:只显示指定的项目",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "要显示的项目列表(其余项目被隐藏)"
}
},
"required": [
"items"
]
},
"condition_filter": {
"type": "object",
"description": "条件筛选:按文本/数值/日期条件筛选",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "条件类型"
},
"operator": {
"type": "string",
"description": "text: equals|notEquals|contains|notContains|beginsWith|notBeginsWith|endsWith|notEndsWith|empty|notEmpty; number: equals|notEquals|greaterThan|greaterThanOrEqual|lessThan|lessThanOrEqual|between|notBetween; date: equals|notEquals|earlierThan|earlierThanOrEqual|laterThan|laterThanOrEqual|between|notBetween|today|yesterday|tomorrow|thisWeek|lastWeek|nextWeek|thisMonth|lastMonth|nextMonth|thisQuarter|lastQuarter|nextQuarter|thisYear|lastYear|nextYear|yearToDate|quarter|month"
},
"value": {
"description": "比较值"
},
"value2": {
"description": "'between'/'notBetween' 的第二个边界值"
}
},
"required": [
"type",
"operator"
]
},
"group": {
"type": "object",
"description": "分组配置",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"number",
"element"
],
"description": "分组类型"
},
"date_group_by": {
"type": "string",
"enum": [
"year",
"yearMonth",
"yearQuarter",
"yearMonthDate",
"quarter",
"month",
"monthDate",
"date",
"hour",
"hourMinute",
"minute"
],
"description": "日期分组粒度(type='date' 时必填)"
},
"interval": {
"type": "number",
"description": "数值分组间隔(type='number' 时必填)"
},
"start": {
"type": "number",
"description": "数值分组起始值"
},
"end": {
"type": "number",
"description": "数值分组结束值"
},
"groups": {
"type": "object",
"description": "元素分组:组名 -> 项目列表(type='element' 时必填)",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"type"
]
}
},
"required": [
"field"
]
}
},
"values": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "要汇总的源数据字段名"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名(典型场景:把 count(销售额) 的值列头显示为 'GMV')。不传则使用源字段原名。仅在用户明确要求重命名时使用。"
},
"summarize_by": {
"default": "sum",
"description": "汇总函数",
"type": "string",
"enum": [
"sum",
"count",
"average",
"max",
"min",
"product",
"countNums",
"stdDev",
"stdDevp",
"var",
"varp",
"distinct",
"median"
]
},
"show_data_as": {
"type": "string",
"description": "值显示方式(默认 'normal')",
"enum": [
"normal",
"percentOfTotal",
"percentOfCol",
"percentOfRow",
"percentOfParentRow",
"percentOfParentCol",
"index"
]
},
"base_field": {
"type": "string",
"description": "show_data_as 需要基准字段时的字段名"
}
},
"required": [
"field"
]
},
"description": "要汇总的字段(至少需要 1 个)"
},
"auto_fit_col": {
"type": "boolean",
"description": "是否自动调整列宽以适应内容"
},
"show_row_grand_total": {
"type": "boolean",
"description": "是否显示行总计(默认 true)"
},
"show_col_grand_total": {
"type": "boolean",
"description": "是否显示列总计(默认 true)"
},
"show_subtotals": {
"type": "boolean",
"description": "是否显示分类小计(默认 true,应用于所有字段)"
},
"repeat_row_labels": {
"type": "boolean",
"description": "是否显示重复项标签"
},
"calculated_fields": {
"type": "array",
"description": "计算字段列表",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "计算字段的显示名称"
},
"formula": {
"type": "string",
"description": "公式表达式,引用其他字段名,例如 \"'Sales' + 'Tax'\""
},
"summarize_by": {
"type": "string",
"default": "sum",
"description": "计算字段汇总方式(默认 'sum',仅支持 sum/custom 两种):'sum' 表示先对 formula 中引用的各源字段分别求和后再代入公式(formula 是逐字段求和后的标量表达式,例如 \"'Sales'+'Tax'\" 等价于 SUM(Sales)+SUM(Tax));'custom' 表示数组直接传给 formula,要求 formula 自带聚合函数(例如 \"SUM('Sales')+SUM('Tax')\" 或 \"AVERAGE('Sales')\")。需要 count/average/max/min 等其他聚合方式时,请改用 values[] 字段对源字段直接聚合,calculated_fields 不适用。",
"enum": [
"sum",
"custom"
]
}
},
"required": [
"name",
"formula"
]
}
},
"collapse": {
"type": "object",
"description": "行字段展开/折叠状态:字段名 -> 要折叠的项目列表",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"+pivot-update": {
"properties": {
"description": "创建/更新的透视表属性。",
"type": "object",
"properties": {
"range": {
"type": "string",
"description": "放置透视表的左上角单元格 A1 地址(例如:'F1')(仅 create 时有效)。可省略——省略后透视表放在新建子表的 A1 位置。"
},
"source": {
"type": "string",
"description": "源数据区域地址,格式为 'SheetName!StartCell:EndCell'(例如:'Sheet1!A1:D100')。create 时必填;update 时提供则切换数据源。"
},
"rows": {
"description": "纵向分组字段(行字段)",
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "源数据中的字段名(OOXML 字段引用)"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名。不传则使用源字段原名。仅在用户明确要求重命名时使用;否则保持源字段原名,透视表产物已足够清晰。"
},
"sort": {
"type": "object",
"description": "排序配置",
"properties": {
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "排序方向"
},
"by": {
"type": "string",
"enum": [
"label",
"value"
],
"description": "'label' = 按字段标签排序(默认),'value' = 按某个值字段的汇总结果排序"
},
"value_field": {
"type": "string",
"description": "by='value' 时必填,指定按哪个值字段排序"
}
},
"required": [
"order"
]
},
"filter": {
"type": "object",
"description": "快速筛选:只显示指定的项目",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "要显示的项目列表(其余项目被隐藏)"
}
},
"required": [
"items"
]
},
"condition_filter": {
"type": "object",
"description": "条件筛选:按文本/数值/日期条件筛选",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "条件类型"
},
"operator": {
"type": "string",
"description": "text: equals|notEquals|contains|notContains|beginsWith|notBeginsWith|endsWith|notEndsWith|empty|notEmpty; number: equals|notEquals|greaterThan|greaterThanOrEqual|lessThan|lessThanOrEqual|between|notBetween; date: equals|notEquals|earlierThan|earlierThanOrEqual|laterThan|laterThanOrEqual|between|notBetween|today|yesterday|tomorrow|thisWeek|lastWeek|nextWeek|thisMonth|lastMonth|nextMonth|thisQuarter|lastQuarter|nextQuarter|thisYear|lastYear|nextYear|yearToDate|quarter|month"
},
"value": {
"description": "比较值"
},
"value2": {
"description": "'between'/'notBetween' 的第二个边界值"
}
},
"required": [
"type",
"operator"
]
},
"group": {
"type": "object",
"description": "分组配置",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"number",
"element"
],
"description": "分组类型"
},
"date_group_by": {
"type": "string",
"enum": [
"year",
"yearMonth",
"yearQuarter",
"yearMonthDate",
"quarter",
"month",
"monthDate",
"date",
"hour",
"hourMinute",
"minute"
],
"description": "日期分组粒度(type='date' 时必填)"
},
"interval": {
"type": "number",
"description": "数值分组间隔(type='number' 时必填)"
},
"start": {
"type": "number",
"description": "数值分组起始值"
},
"end": {
"type": "number",
"description": "数值分组结束值"
},
"groups": {
"type": "object",
"description": "元素分组:组名 -> 项目列表(type='element' 时必填)",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"type"
]
}
},
"required": [
"field"
]
}
},
"columns": {
"description": "横向分组字段(列字段)",
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "源数据中的字段名(OOXML 字段引用)"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名。不传则使用源字段原名。仅在用户明确要求重命名时使用。"
},
"sort": {
"type": "object",
"description": "排序配置",
"properties": {
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "排序方向"
},
"by": {
"type": "string",
"enum": [
"label",
"value"
],
"description": "'label' = 按字段标签排序(默认),'value' = 按某个值字段的汇总结果排序"
},
"value_field": {
"type": "string",
"description": "by='value' 时必填,指定按哪个值字段排序"
}
},
"required": [
"order"
]
},
"filter": {
"type": "object",
"description": "快速筛选:只显示指定的项目",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "要显示的项目列表(其余项目被隐藏)"
}
},
"required": [
"items"
]
},
"condition_filter": {
"type": "object",
"description": "条件筛选:按文本/数值/日期条件筛选",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "条件类型"
},
"operator": {
"type": "string",
"description": "text: equals|notEquals|contains|notContains|beginsWith|notBeginsWith|endsWith|notEndsWith|empty|notEmpty; number: equals|notEquals|greaterThan|greaterThanOrEqual|lessThan|lessThanOrEqual|between|notBetween; date: equals|notEquals|earlierThan|earlierThanOrEqual|laterThan|laterThanOrEqual|between|notBetween|today|yesterday|tomorrow|thisWeek|lastWeek|nextWeek|thisMonth|lastMonth|nextMonth|thisQuarter|lastQuarter|nextQuarter|thisYear|lastYear|nextYear|yearToDate|quarter|month"
},
"value": {
"description": "比较值"
},
"value2": {
"description": "'between'/'notBetween' 的第二个边界值"
}
},
"required": [
"type",
"operator"
]
},
"group": {
"type": "object",
"description": "分组配置",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"number",
"element"
],
"description": "分组类型"
},
"date_group_by": {
"type": "string",
"enum": [
"year",
"yearMonth",
"yearQuarter",
"yearMonthDate",
"quarter",
"month",
"monthDate",
"date",
"hour",
"hourMinute",
"minute"
],
"description": "日期分组粒度(type='date' 时必填)"
},
"interval": {
"type": "number",
"description": "数值分组间隔(type='number' 时必填)"
},
"start": {
"type": "number",
"description": "数值分组起始值"
},
"end": {
"type": "number",
"description": "数值分组结束值"
},
"groups": {
"type": "object",
"description": "元素分组:组名 -> 项目列表(type='element' 时必填)",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"type"
]
}
},
"required": [
"field"
]
}
},
"filters": {
"description": "筛选区域字段(页字段)",
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "源数据中的字段名(OOXML 字段引用)"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名。不传则使用源字段原名。仅在用户明确要求重命名时使用。"
},
"filter": {
"type": "object",
"description": "快速筛选:只显示指定的项目",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "要显示的项目列表(其余项目被隐藏)"
}
},
"required": [
"items"
]
},
"condition_filter": {
"type": "object",
"description": "条件筛选:按文本/数值/日期条件筛选",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "条件类型"
},
"operator": {
"type": "string",
"description": "text: equals|notEquals|contains|notContains|beginsWith|notBeginsWith|endsWith|notEndsWith|empty|notEmpty; number: equals|notEquals|greaterThan|greaterThanOrEqual|lessThan|lessThanOrEqual|between|notBetween; date: equals|notEquals|earlierThan|earlierThanOrEqual|laterThan|laterThanOrEqual|between|notBetween|today|yesterday|tomorrow|thisWeek|lastWeek|nextWeek|thisMonth|lastMonth|nextMonth|thisQuarter|lastQuarter|nextQuarter|thisYear|lastYear|nextYear|yearToDate|quarter|month"
},
"value": {
"description": "比较值"
},
"value2": {
"description": "'between'/'notBetween' 的第二个边界值"
}
},
"required": [
"type",
"operator"
]
},
"group": {
"type": "object",
"description": "分组配置",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"number",
"element"
],
"description": "分组类型"
},
"date_group_by": {
"type": "string",
"enum": [
"year",
"yearMonth",
"yearQuarter",
"yearMonthDate",
"quarter",
"month",
"monthDate",
"date",
"hour",
"hourMinute",
"minute"
],
"description": "日期分组粒度(type='date' 时必填)"
},
"interval": {
"type": "number",
"description": "数值分组间隔(type='number' 时必填)"
},
"start": {
"type": "number",
"description": "数值分组起始值"
},
"end": {
"type": "number",
"description": "数值分组结束值"
},
"groups": {
"type": "object",
"description": "元素分组:组名 -> 项目列表(type='element' 时必填)",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"type"
]
}
},
"required": [
"field"
]
}
},
"values": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "要汇总的源数据字段名"
},
"display_name": {
"type": "string",
"description": "字段在透视表中的显示名(典型场景:把 count(销售额) 的值列头显示为 'GMV')。不传则使用源字段原名。仅在用户明确要求重命名时使用。"
},
"summarize_by": {
"default": "sum",
"description": "汇总函数",
"type": "string",
"enum": [
"sum",
"count",
"average",
"max",
"min",
"product",
"countNums",
"stdDev",
"stdDevp",
"var",
"varp",
"distinct",
"median"
]
},
"show_data_as": {
"type": "string",
"description": "值显示方式(默认 'normal')",
"enum": [
"normal",
"percentOfTotal",
"percentOfCol",
"percentOfRow",
"percentOfParentRow",
"percentOfParentCol",
"index"
]
},
"base_field": {
"type": "string",
"description": "show_data_as 需要基准字段时的字段名"
}
},
"required": [
"field"
]
},
"description": "要汇总的字段(至少需要 1 个)"
},
"auto_fit_col": {
"type": "boolean",
"description": "是否自动调整列宽以适应内容"
},
"show_row_grand_total": {
"type": "boolean",
"description": "是否显示行总计(默认 true)"
},
"show_col_grand_total": {
"type": "boolean",
"description": "是否显示列总计(默认 true)"
},
"show_subtotals": {
"type": "boolean",
"description": "是否显示分类小计(默认 true,应用于所有字段)"
},
"repeat_row_labels": {
"type": "boolean",
"description": "是否显示重复项标签"
},
"calculated_fields": {
"type": "array",
"description": "计算字段列表",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "计算字段的显示名称"
},
"formula": {
"type": "string",
"description": "公式表达式,引用其他字段名,例如 \"'Sales' + 'Tax'\""
},
"summarize_by": {
"type": "string",
"default": "sum",
"description": "计算字段汇总方式(默认 'sum',仅支持 sum/custom 两种):'sum' 表示先对 formula 中引用的各源字段分别求和后再代入公式(formula 是逐字段求和后的标量表达式,例如 \"'Sales'+'Tax'\" 等价于 SUM(Sales)+SUM(Tax));'custom' 表示数组直接传给 formula,要求 formula 自带聚合函数(例如 \"SUM('Sales')+SUM('Tax')\" 或 \"AVERAGE('Sales')\")。需要 count/average/max/min 等其他聚合方式时,请改用 values[] 字段对源字段直接聚合,calculated_fields 不适用。",
"enum": [
"sum",
"custom"
]
}
},
"required": [
"name",
"formula"
]
}
},
"collapse": {
"type": "object",
"description": "行字段展开/折叠状态:字段名 -> 要折叠的项目列表",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"+range-sort": {
"sort-keys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string",
"description": "排序依据的列字母(如 \"C\"、\"D\"),必须在 range 范围内"
},
"ascending": {
"type": "boolean",
"description": "是否升序排序"
}
},
"required": [
"column",
"ascending"
]
},
"description": "排序条件列表(仅 sort 操作)。支持多级排序,靠前的条件优先级更高。"
}
},
"+rows-resize": {
"heights": {
"type": "object",
"description": "行 → 高度 map。键:单行(\"1\")或行闭区间(\"2:20\");值:正整数像素高(如 30 / 50;⚠️ 单位是像素,不是磅/points)、\"auto\"(自适应内容)或 \"standard\"(重置为默认行高)。",
"additionalProperties": {
"oneOf": [
{
"type": "integer",
"minimum": 1,
"description": "像素高度"
},
{
"type": "string",
"enum": [
"standard",
"auto"
],
"description": "standard=重置默认行高;auto=自适应内容"
}
]
}
}
},
"+sparkline-create": {
"properties": {
"description": "创建/更新/部分删除的迷你图属性。delete 时不传 sparklines 即删整组,传则删指定项。",
"type": "object",
"properties": {
"config": {
"type": "object",
"description": "迷你图样式配置, 相同 groupId 的迷你图共享相同的样式。",
"properties": {
"theme_type": {
"type": "string",
"enum": [
"pro",
"light",
"soft",
"brand",
"fresh"
],
"description": "主题类型:pro、light、soft、brand、fresh。"
},
"non_num_show_as": {
"type": "string",
"enum": [
"zero",
"gap",
"average"
],
"description": "非数字单元格显示方式:zero=显示为0,gap=显示为间距,average=取前后均值。"
},
"empty_show_as": {
"type": "string",
"enum": [
"zero",
"gap",
"average"
],
"description": "空单元格显示方式:zero=显示为0,gap=显示为间距,average=取前后均值。"
},
"contain_hidden_cells": {
"type": "boolean",
"description": "隐藏的单元格数据是否参与绘制。"
},
"series_color": {
"type": "string",
"description": "主系列颜色,例如 \"#4472C4\"。"
},
"points": {
"type": "object",
"description": "特殊点样式配置,包含高点、低点、标记点、首点、尾点、负点。",
"properties": {
"last_point": {
"type": "object",
"description": "尾点配置,最后一个数据点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"negative_point": {
"type": "object",
"description": "负点配置,负数点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"markers_point": {
"type": "object",
"description": "标记点配置,所有标记点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"first_point": {
"type": "object",
"description": "首点配置,第一个数据点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"high_point": {
"type": "object",
"description": "高点配置,最高点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"low_point": {
"type": "object",
"description": "低点配置,最低点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
}
}
},
"line_width": {
"type": "number",
"enum": [
1,
2,
3,
4
],
"description": "折线图线宽,可选值:1=1px,2=2px,3=3px,4=4px。"
},
"type": {
"type": "string",
"enum": [
"line",
"column",
"win_loss"
],
"description": "迷你图类型,可选值:line=折线图,column=柱形图,win_loss=盈亏图。"
},
"axis": {
"type": "object",
"description": "坐标轴配置,包含坐标轴颜色、是否翻转、是否显示坐标轴。",
"properties": {
"color": {
"type": "string",
"description": "坐标轴颜色。"
},
"reverse": {
"type": "boolean",
"description": "是否翻转坐标轴方向。"
},
"visible": {
"type": "boolean",
"description": "是否显示坐标轴。"
}
}
},
"show_gradient": {
"type": "boolean",
"description": "是否显示渐变效果。"
},
"show_radius": {
"type": "boolean",
"description": "是否显示圆角,仅对柱形图和盈亏图生效。"
},
"extremum_max": {
"type": "object",
"description": "最大极值配置,包含极值类型、极值。",
"properties": {
"type": {
"type": "string",
"enum": [
"individual",
"group",
"custom"
],
"description": "极值类型,可选值:individual=单个迷你图极值,group=同组内极值,custom=自定义。"
},
"value": {
"type": "number",
"description": "当 type='custom' 时生效的具体数值。"
}
},
"required": [
"type"
]
},
"extremum_min": {
"type": "object",
"description": "最小极值配置,包含极值类型、极值。",
"properties": {
"type": {
"type": "string",
"enum": [
"individual",
"group",
"custom"
],
"description": "极值类型:individual=单个迷你图极值,group=同组内极值,custom=自定义。"
},
"value": {
"type": "number",
"description": "当 type='custom' 时生效的具体数值。"
}
},
"required": [
"type"
]
}
}
},
"sparklines": {
"type": "array",
"description": "迷你图项列表。create 时为待创建项(每项需 position + source/source_range);update 时为待变更/新增项(每项需 sparkline_id;upsert=true 新增时需 position + source);delete 时为待删除项(每项需 sparkline_id)。",
"items": {
"type": "object",
"description": "单个迷你图项。",
"properties": {
"sparkline_id": {
"type": "string",
"description": "迷你图 reference_id。create 时可选(不传系统生成);update / delete 时必填。"
},
"position": {
"type": "object",
"description": "迷你图位置。create / update 时必填;delete 时省略。",
"properties": {
"row": {
"type": "number",
"minimum": 0,
"description": "行索引(0-based)"
},
"col": {
"type": "string",
"description": "列索引,例如 \"A\"、\"B\""
}
},
"required": [
"row",
"col"
]
},
"source": {
"type": "string",
"description": "A1 范围字符串,表示数据来源,例如 \"Sheet1!A2:A10\"。create 必填(与 source_range 二选一);update 仅在改源时传;delete 时省略。"
},
"source_range": {
"type": "object",
"description": "结构化数据源范围(与 source 等价)。",
"properties": {
"range": {
"type": "string",
"description": "数据源的 A1 引用区域"
}
},
"required": [
"range"
]
}
}
}
}
}
}
},
"+sparkline-update": {
"properties": {
"description": "创建/更新/部分删除的迷你图属性。delete 时不传 sparklines 即删整组,传则删指定项。",
"type": "object",
"properties": {
"config": {
"type": "object",
"description": "迷你图样式配置, 相同 groupId 的迷你图共享相同的样式。",
"properties": {
"theme_type": {
"type": "string",
"enum": [
"pro",
"light",
"soft",
"brand",
"fresh"
],
"description": "主题类型:pro、light、soft、brand、fresh。"
},
"non_num_show_as": {
"type": "string",
"enum": [
"zero",
"gap",
"average"
],
"description": "非数字单元格显示方式:zero=显示为0,gap=显示为间距,average=取前后均值。"
},
"empty_show_as": {
"type": "string",
"enum": [
"zero",
"gap",
"average"
],
"description": "空单元格显示方式:zero=显示为0,gap=显示为间距,average=取前后均值。"
},
"contain_hidden_cells": {
"type": "boolean",
"description": "隐藏的单元格数据是否参与绘制。"
},
"series_color": {
"type": "string",
"description": "主系列颜色,例如 \"#4472C4\"。"
},
"points": {
"type": "object",
"description": "特殊点样式配置,包含高点、低点、标记点、首点、尾点、负点。",
"properties": {
"last_point": {
"type": "object",
"description": "尾点配置,最后一个数据点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"negative_point": {
"type": "object",
"description": "负点配置,负数点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"markers_point": {
"type": "object",
"description": "标记点配置,所有标记点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"first_point": {
"type": "object",
"description": "首点配置,第一个数据点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"high_point": {
"type": "object",
"description": "高点配置,最高点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
},
"low_point": {
"type": "object",
"description": "低点配置,最低点的样式。",
"properties": {
"color": {
"type": "string",
"description": "点的颜色。"
},
"visible": {
"type": "boolean",
"description": "是否显示该点。"
}
}
}
}
},
"line_width": {
"type": "number",
"enum": [
1,
2,
3,
4
],
"description": "折线图线宽,可选值:1=1px,2=2px,3=3px,4=4px。"
},
"type": {
"type": "string",
"enum": [
"line",
"column",
"win_loss"
],
"description": "迷你图类型,可选值:line=折线图,column=柱形图,win_loss=盈亏图。"
},
"axis": {
"type": "object",
"description": "坐标轴配置,包含坐标轴颜色、是否翻转、是否显示坐标轴。",
"properties": {
"color": {
"type": "string",
"description": "坐标轴颜色。"
},
"reverse": {
"type": "boolean",
"description": "是否翻转坐标轴方向。"
},
"visible": {
"type": "boolean",
"description": "是否显示坐标轴。"
}
}
},
"show_gradient": {
"type": "boolean",
"description": "是否显示渐变效果。"
},
"show_radius": {
"type": "boolean",
"description": "是否显示圆角,仅对柱形图和盈亏图生效。"
},
"extremum_max": {
"type": "object",
"description": "最大极值配置,包含极值类型、极值。",
"properties": {
"type": {
"type": "string",
"enum": [
"individual",
"group",
"custom"
],
"description": "极值类型,可选值:individual=单个迷你图极值,group=同组内极值,custom=自定义。"
},
"value": {
"type": "number",
"description": "当 type='custom' 时生效的具体数值。"
}
},
"required": [
"type"
]
},
"extremum_min": {
"type": "object",
"description": "最小极值配置,包含极值类型、极值。",
"properties": {
"type": {
"type": "string",
"enum": [
"individual",
"group",
"custom"
],
"description": "极值类型:individual=单个迷你图极值,group=同组内极值,custom=自定义。"
},
"value": {
"type": "number",
"description": "当 type='custom' 时生效的具体数值。"
}
},
"required": [
"type"
]
}
}
},
"sparklines": {
"type": "array",
"description": "迷你图项列表。create 时为待创建项(每项需 position + source/source_range);update 时为待变更/新增项(每项需 sparkline_id;upsert=true 新增时需 position + source);delete 时为待删除项(每项需 sparkline_id)。",
"items": {
"type": "object",
"description": "单个迷你图项。",
"properties": {
"sparkline_id": {
"type": "string",
"description": "迷你图 reference_id。create 时可选(不传系统生成);update / delete 时必填。"
},
"position": {
"type": "object",
"description": "迷你图位置。create / update 时必填;delete 时省略。",
"properties": {
"row": {
"type": "number",
"minimum": 0,
"description": "行索引(0-based)"
},
"col": {
"type": "string",
"description": "列索引,例如 \"A\"、\"B\""
}
},
"required": [
"row",
"col"
]
},
"source": {
"type": "string",
"description": "A1 范围字符串,表示数据来源,例如 \"Sheet1!A2:A10\"。create 必填(与 source_range 二选一);update 仅在改源时传;delete 时省略。"
},
"source_range": {
"type": "object",
"description": "结构化数据源范围(与 source 等价)。",
"properties": {
"range": {
"type": "string",
"description": "数据源的 A1 引用区域"
}
},
"required": [
"range"
]
}
}
}
}
}
}
},
"+styles-put": {
"styles": {
"items": {
"properties": {
"cell_merges": {
"description": "单元格合并操作数组;range 使用 A1 单元格范围,merge_type 默认 all。",
"items": {
"properties": {
"merge_type": {
"enum": [
"all",
"rows",
"columns"
],
"type": "string"
},
"range": {
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"cell_styles": {
"description": "单元格样式操作数组;每项用 A1 单元格 range 指定范围,字段名与 +cells-set-style 对齐。加边框优先用 border 简写;只有分侧不同样式才用 border_styles 完整形态。",
"items": {
"properties": {
"background_color": {
"type": "string"
},
"border": {
"description": "边框简写(推荐):{style, weight, color} 应用到四边(如 {\"style\":\"solid\",\"color\":\"#DDDDDD\"});也接受侧键形态 {top:{…},bottom:{…}}。分侧不同样式用 border_styles 完整形态。",
"type": "object"
},
"border_styles": {
"type": "object",
"description": "边框配置,结构同 +cells-set-style --border-styles。",
"properties": {
"bottom": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"left": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"right": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"top": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
}
}
},
"font_color": {
"type": "string"
},
"font_family": {
"type": "string"
},
"font_line": {
"enum": [
"none",
"underline",
"line-through"
],
"type": "string"
},
"font_size": {
"type": "number"
},
"font_style": {
"enum": [
"normal",
"italic"
],
"type": "string"
},
"font_weight": {
"enum": [
"normal",
"bold"
],
"type": "string"
},
"horizontal_alignment": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"number_format": {
"type": "string"
},
"range": {
"description": "A1 单元格范围,必须落在该子表本次写入区域内;例如 A1:B1、B2。",
"type": "string"
},
"vertical_alignment": {
"enum": [
"top",
"middle",
"bottom"
],
"type": "string"
},
"word_wrap": {
"enum": [
"overflow",
"auto-wrap",
"word-clip"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"col_sizes": {
"description": "列宽操作数组;range 使用列范围如 A:C,给 size(px)即像素列宽(type 可省略);type 为 standard 时不带 size。",
"items": {
"properties": {
"range": {
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"pixel",
"standard"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"freeze": {
"description": "冻结行列:rows = 冻结前 N 行,cols = 冻结前 N 列(0 或省略 = 该维度不冻结)。作用于已有子表时(+styles-put / +table-put)全 0 = 两轴全部解冻;+workbook-create 建新表时全 0 无意义、会被校验拒绝。",
"properties": {
"cols": {
"minimum": 0,
"type": "integer"
},
"rows": {
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": {
"description": "子表名。--sheets 模式下必须与同位置 --sheets.sheets[].name 一致;--values 模式下建议写 Sheet1(其 name 会被忽略)。",
"type": "string"
},
"row_sizes": {
"description": "行高操作数组;range 使用行范围如 1:3,给 size(px)即像素行高(type 可省略);type 为 standard/auto 时不带 size。",
"items": {
"properties": {
"range": {
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"pixel",
"standard",
"auto"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
}
},
"+table-put": {
"sheets": {
"type": "array",
"minItems": 1,
"description": "一个或多个子表的 typed 数据,每个数组元素写入一张子表;支持多 DataFrame → 多子表一次写入。每个数组项的形状对齐 pandas `df.to_json(orient=\"split\")`:列名走 `columns`、二维取值走 `data`、每列的 pandas dtype 走 `dtypes`、可选的展示格式走 `formats`,并显式带上目标子表名 `name`。pandas 来源直接用 `scripts/sheets_df.py` 的 `df_to_sheet(df, name)` 生成一项,再把 list 包到 `{\"sheets\":[...]}`。",
"items": {
"type": "object",
"required": [
"name",
"columns",
"data"
],
"properties": {
"name": {
"type": "string",
"description": "目标子表名。按名匹配已有子表;不存在则新建该子表。同一次调用内子表名不可重复。"
},
"start_cell": {
"type": "string",
"default": "A1",
"description": "写入起点单元格(A1 记法,如 \"B2\"),默认 \"A1\"。mode=append 时忽略其行号、仅沿用其列。"
},
"mode": {
"type": "string",
"enum": [
"overwrite",
"append"
],
"default": "overwrite",
"description": "overwrite(默认):从 start_cell 起写「表头 + 数据」块;append:把数据追加到子表已有数据下方(默认不重复表头)。"
},
"header": {
"type": "boolean",
"description": "是否写一行列名表头。省略时按 mode 取默认:overwrite→true、append→false(避免在已有表头下重复);显式给值可覆盖。"
},
"allow_overwrite": {
"type": "boolean",
"default": true,
"description": "为 false 时,若写入会落在非空单元格则拒写以保护原数据(返回 partial_success)。默认 true。"
},
"columns": {
"type": "array",
"minItems": 1,
"description": "列名字符串数组,顺序与 `data` 中每行取值一一对应。同一子表内列名不可重复。",
"items": {
"type": "string"
}
},
"data": {
"type": "array",
"description": "数据行;每行是一个数组,长度必须等于 `columns` 数。元素按 `dtypes` 推得的列类型取值(date 列写 ISO yyyy-mm-dd 字符串、number 列写数值、bool 列写布尔、其余写文本),null 表示空单元格。",
"items": {
"type": "array",
"items": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "单元格值:date→ISO yyyy-mm-dd 字符串;number→数值(json.Number 精度保留);bool→布尔;string→文本;null→空单元格。"
}
}
},
"dtypes": {
"type": "object",
"description": "可选。列名 → pandas dtype 字符串的映射;缺失项默认按 object(string + 文本格式 `@`)处理,所以省略整段时整张表按文本写入(导入 CSV-shaped 数据的最简形态)。dtype 解析规则:`int*` / `uint*` / `Int*` / `UInt*` / `float*` / `Float*` / `complex*` → number(精度保留),`bool` / `boolean` → bool,`datetime64[ns]` / 含时区的 `datetime64[ns, UTC]` 等 → date(默认 `yyyy-mm-dd` 格式),`object` / `string` / `category` / 未识别 → string + 文本格式 `@`(数字样字符串如「00123」不会塌缩成数字)。",
"additionalProperties": {
"type": "string"
}
},
"formats": {
"type": "object",
"description": "可选。列名 → Excel number_format 字符串的映射,覆盖 dtype 自带的默认格式(金额 `#,##0.00`、百分比 `0.0%`、自定义日期 `yyyy-mm` 等)。percent 列的数值尺度由调用方负责(0.0469 配 `0.00%` 显示 4.69%)。",
"additionalProperties": {
"type": "string"
}
}
}
}
},
"styles": {
"items": {
"properties": {
"cell_merges": {
"description": "单元格合并操作数组;range 使用 A1 单元格范围,merge_type 默认 all。",
"items": {
"properties": {
"merge_type": {
"enum": [
"all",
"rows",
"columns"
],
"type": "string"
},
"range": {
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"cell_styles": {
"description": "单元格样式操作数组;每项用 A1 单元格 range 指定范围,字段名与 +cells-set-style 对齐。加边框优先用 border 简写;只有分侧不同样式才用 border_styles 完整形态。",
"items": {
"properties": {
"background_color": {
"type": "string"
},
"border": {
"description": "边框简写(推荐):{style, weight, color} 应用到四边(如 {\"style\":\"solid\",\"color\":\"#DDDDDD\"});也接受侧键形态 {top:{…},bottom:{…}}。分侧不同样式用 border_styles 完整形态。",
"type": "object"
},
"border_styles": {
"type": "object",
"description": "边框配置,结构同 +cells-set-style --border-styles。",
"properties": {
"bottom": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"left": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"right": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"top": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
}
}
},
"font_color": {
"type": "string"
},
"font_family": {
"type": "string"
},
"font_line": {
"enum": [
"none",
"underline",
"line-through"
],
"type": "string"
},
"font_size": {
"type": "number"
},
"font_style": {
"enum": [
"normal",
"italic"
],
"type": "string"
},
"font_weight": {
"enum": [
"normal",
"bold"
],
"type": "string"
},
"horizontal_alignment": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"number_format": {
"type": "string"
},
"range": {
"description": "A1 单元格范围,必须落在该子表本次写入区域内;例如 A1:B1、B2。",
"type": "string"
},
"vertical_alignment": {
"enum": [
"top",
"middle",
"bottom"
],
"type": "string"
},
"word_wrap": {
"enum": [
"overflow",
"auto-wrap",
"word-clip"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"col_sizes": {
"description": "列宽操作数组;range 使用列范围如 A:C,给 size(px)即像素列宽(type 可省略);type 为 standard 时不带 size。",
"items": {
"properties": {
"range": {
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"pixel",
"standard"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"freeze": {
"description": "冻结行列:rows = 冻结前 N 行,cols = 冻结前 N 列(0 或省略 = 该维度不冻结)。作用于已有子表时(+styles-put / +table-put)全 0 = 两轴全部解冻;+workbook-create 建新表时全 0 无意义、会被校验拒绝。",
"properties": {
"cols": {
"minimum": 0,
"type": "integer"
},
"rows": {
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": {
"description": "子表名。--sheets 模式下必须与同位置 --sheets.sheets[].name 一致;--values 模式下建议写 Sheet1(其 name 会被忽略)。",
"type": "string"
},
"row_sizes": {
"description": "行高操作数组;range 使用行范围如 1:3,给 size(px)即像素行高(type 可省略);type 为 standard/auto 时不带 size。",
"items": {
"properties": {
"range": {
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"pixel",
"standard",
"auto"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
}
},
"+workbook-create": {
"sheets": {
"type": "array",
"minItems": 1,
"description": "一个或多个子表的 typed 数据,每个数组元素写入一张子表;支持多 DataFrame → 多子表一次写入。每个数组项的形状对齐 pandas `df.to_json(orient=\"split\")`:列名走 `columns`、二维取值走 `data`、每列的 pandas dtype 走 `dtypes`、可选的展示格式走 `formats`,并显式带上目标子表名 `name`。pandas 来源直接用 `scripts/sheets_df.py` 的 `df_to_sheet(df, name)` 生成一项,再把 list 包到 `{\"sheets\":[...]}`。",
"items": {
"type": "object",
"required": [
"name",
"columns",
"data"
],
"properties": {
"name": {
"type": "string",
"description": "目标子表名。按名匹配已有子表;不存在则新建该子表。同一次调用内子表名不可重复。"
},
"start_cell": {
"type": "string",
"default": "A1",
"description": "写入起点单元格(A1 记法,如 \"B2\"),默认 \"A1\"。mode=append 时忽略其行号、仅沿用其列。"
},
"mode": {
"type": "string",
"enum": [
"overwrite",
"append"
],
"default": "overwrite",
"description": "overwrite(默认):从 start_cell 起写「表头 + 数据」块;append:把数据追加到子表已有数据下方(默认不重复表头)。"
},
"header": {
"type": "boolean",
"description": "是否写一行列名表头。省略时按 mode 取默认:overwrite→true、append→false(避免在已有表头下重复);显式给值可覆盖。"
},
"allow_overwrite": {
"type": "boolean",
"default": true,
"description": "为 false 时,若写入会落在非空单元格则拒写以保护原数据(返回 partial_success)。默认 true。"
},
"columns": {
"type": "array",
"minItems": 1,
"description": "列名字符串数组,顺序与 `data` 中每行取值一一对应。同一子表内列名不可重复。",
"items": {
"type": "string"
}
},
"data": {
"type": "array",
"description": "数据行;每行是一个数组,长度必须等于 `columns` 数。元素按 `dtypes` 推得的列类型取值(date 列写 ISO yyyy-mm-dd 字符串、number 列写数值、bool 列写布尔、其余写文本),null 表示空单元格。",
"items": {
"type": "array",
"items": {
"type": [
"string",
"number",
"boolean",
"null"
],
"description": "单元格值:date→ISO yyyy-mm-dd 字符串;number→数值(json.Number 精度保留);bool→布尔;string→文本;null→空单元格。"
}
}
},
"dtypes": {
"type": "object",
"description": "可选。列名 → pandas dtype 字符串的映射;缺失项默认按 object(string + 文本格式 `@`)处理,所以省略整段时整张表按文本写入(导入 CSV-shaped 数据的最简形态)。dtype 解析规则:`int*` / `uint*` / `Int*` / `UInt*` / `float*` / `Float*` / `complex*` → number(精度保留),`bool` / `boolean` → bool,`datetime64[ns]` / 含时区的 `datetime64[ns, UTC]` 等 → date(默认 `yyyy-mm-dd` 格式),`object` / `string` / `category` / 未识别 → string + 文本格式 `@`(数字样字符串如「00123」不会塌缩成数字)。",
"additionalProperties": {
"type": "string"
}
},
"formats": {
"type": "object",
"description": "可选。列名 → Excel number_format 字符串的映射,覆盖 dtype 自带的默认格式(金额 `#,##0.00`、百分比 `0.0%`、自定义日期 `yyyy-mm` 等)。percent 列的数值尺度由调用方负责(0.0469 配 `0.00%` 显示 4.69%)。",
"additionalProperties": {
"type": "string"
}
}
}
}
},
"styles": {
"items": {
"properties": {
"cell_merges": {
"description": "单元格合并操作数组;range 使用 A1 单元格范围,merge_type 默认 all。",
"items": {
"properties": {
"merge_type": {
"enum": [
"all",
"rows",
"columns"
],
"type": "string"
},
"range": {
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"cell_styles": {
"description": "单元格样式操作数组;每项用 A1 单元格 range 指定范围,字段名与 +cells-set-style 对齐。加边框优先用 border 简写;只有分侧不同样式才用 border_styles 完整形态。",
"items": {
"properties": {
"background_color": {
"type": "string"
},
"border": {
"description": "边框简写(推荐):{style, weight, color} 应用到四边(如 {\"style\":\"solid\",\"color\":\"#DDDDDD\"});也接受侧键形态 {top:{…},bottom:{…}}。分侧不同样式用 border_styles 完整形态。",
"type": "object"
},
"border_styles": {
"type": "object",
"description": "边框配置,结构同 +cells-set-style --border-styles。",
"properties": {
"bottom": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"left": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"right": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
},
"top": {
"properties": {
"color": {
"description": "边框颜色(十六进制,例如 \"#000000\")",
"type": "string"
},
"style": {
"description": "边框线型;传 \"none\" 表示清除该方向边框(无边框线)",
"enum": [
"solid",
"dashed",
"dotted",
"double",
"none"
],
"type": "string"
},
"weight": {
"description": "边框粗细/线宽",
"enum": [
"thin",
"medium",
"thick"
],
"type": "string"
}
},
"type": "object"
}
}
},
"font_color": {
"type": "string"
},
"font_family": {
"type": "string"
},
"font_line": {
"enum": [
"none",
"underline",
"line-through"
],
"type": "string"
},
"font_size": {
"type": "number"
},
"font_style": {
"enum": [
"normal",
"italic"
],
"type": "string"
},
"font_weight": {
"enum": [
"normal",
"bold"
],
"type": "string"
},
"horizontal_alignment": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"number_format": {
"type": "string"
},
"range": {
"description": "A1 单元格范围,必须落在该子表本次写入区域内;例如 A1:B1、B2。",
"type": "string"
},
"vertical_alignment": {
"enum": [
"top",
"middle",
"bottom"
],
"type": "string"
},
"word_wrap": {
"enum": [
"overflow",
"auto-wrap",
"word-clip"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"col_sizes": {
"description": "列宽操作数组;range 使用列范围如 A:C,给 size(px)即像素列宽(type 可省略);type 为 standard 时不带 size。",
"items": {
"properties": {
"range": {
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"pixel",
"standard"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
},
"freeze": {
"description": "冻结行列:rows = 冻结前 N 行,cols = 冻结前 N 列(0 或省略 = 该维度不冻结)。作用于已有子表时(+styles-put / +table-put)全 0 = 两轴全部解冻;+workbook-create 建新表时全 0 无意义、会被校验拒绝。",
"properties": {
"cols": {
"minimum": 0,
"type": "integer"
},
"rows": {
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": {
"description": "子表名。--sheets 模式下必须与同位置 --sheets.sheets[].name 一致;--values 模式下建议写 Sheet1(其 name 会被忽略)。",
"type": "string"
},
"row_sizes": {
"description": "行高操作数组;range 使用行范围如 1:3,给 size(px)即像素行高(type 可省略);type 为 standard/auto 时不带 size。",
"items": {
"properties": {
"range": {
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"pixel",
"standard",
"auto"
],
"type": "string"
}
},
"required": [
"range"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
}
}
}
}