Styled Table Cell
A cell with explicit visual style or merged geometry. Its position remains its array column index; use null placeholders for every covered grid position.
Metadata
Field index
| Field | Type | Req. | Description |
|---|---|---|---|
| value | ref:TableCellValue | yes | Editable cell content; styling and spans do not change its scalar type or rich runs. |
| style | ref:TableCellStyle | — | |
| colSpan | integer | — | Number of grid columns covered, starting at this cell. Covered positions must contain null. Default 1. |
| rowSpan | integer | — | Number of grid rows covered, starting at this cell. Covered positions must contain null. Header cells cannot span into body rows. Default 1. |
| format | ref:NumberFormat | — | Number format. On a body cell it formats that cell's number value (and wins over the column's format); on a header cell (in 'columns') it is the column's format, the same as a DataColumn header. Strings, booleans, null and rich runs display unchanged. |
value
typeref:TableCellValuerequiredyesdefault—
Editable cell content; styling and spans do not change its scalar type or rich runs.
style
typeref:TableCellStylerequirednodefault—
style.fill· Named choices (see schema for other values and constraints)"accent1""accent2""accent3""accent4""accent5""accent6""dark1""dark2""light1""light2""hyperlink""followedHyperlink""primary""secondary""accent""background""surface""surfaceAlt""text""textSecondary"style.color· Named choices (see schema for other values and constraints)"accent1""accent2""accent3""accent4""accent5""accent6""dark1""dark2""light1""light2""hyperlink""followedHyperlink""primary""secondary""accent""background""surface""surfaceAlt""text""textSecondary"style.align· Allowed values"left""center""right"style.verticalAlign· Allowed values"top""middle""bottom"style.borders.top.color· Named choices (see schema for other values and constraints)"accent1""accent2""accent3""accent4""accent5""accent6""dark1""dark2""light1""light2""hyperlink""followedHyperlink""primary""secondary""accent""background""surface""surfaceAlt""text""textSecondary"style.borders.top.dash· Allowed values"solid""dash""dot"
colSpan
typeintegerrequirednodefault—
Number of grid columns covered, starting at this cell. Covered positions must contain null. Default 1.
rowSpan
typeintegerrequirednodefault—
Number of grid rows covered, starting at this cell. Covered positions must contain null. Header cells cannot span into body rows. Default 1.
format
typeref:NumberFormatrequirednodefault—
Number format. On a body cell it formats that cell's number value (and wins over the column's format); on a header cell (in 'columns') it is the column's format, the same as a DataColumn header. Strings, booleans, null and rich runs display unchanged.
Complete definition constraints
{
"type": "object",
"additionalProperties": false,
"required": [
"value"
],
"properties": {
"value": {
"$ref": "#/$defs/TableCellValue",
"description": "Editable cell content; styling and spans do not change its scalar type or rich runs."
},
"style": {
"$ref": "#/$defs/TableCellStyle"
},
"colSpan": {
"type": "integer",
"minimum": 1,
"description": "Number of grid columns covered, starting at this cell. Covered positions must contain null. Default 1."
},
"rowSpan": {
"type": "integer",
"minimum": 1,
"description": "Number of grid rows covered, starting at this cell. Covered positions must contain null. Header cells cannot span into body rows. Default 1."
},
"format": {
"$ref": "#/$defs/NumberFormat",
"description": "Number format. On a body cell it formats that cell's number value (and wins over the column's format); on a header cell (in 'columns') it is the column's format, the same as a DataColumn header. Strings, booleans, null and rich runs display unchanged."
}
},
"description": "A cell with explicit visual style or merged geometry. Its position remains its array column index; use null placeholders for every covered grid position."
}