8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
205 lines
5.9 KiB
JSON
205 lines
5.9 KiB
JSON
{
|
|
"$schema": "../_schema.json",
|
|
"format": "xlsx",
|
|
"element": "table",
|
|
"elementAliases": ["listobject"],
|
|
"parent": "sheet",
|
|
"operations": {
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"query": true,
|
|
"remove": true
|
|
},
|
|
"paths": {
|
|
"positional": [
|
|
"/SheetName/table[N]"
|
|
]
|
|
},
|
|
"note": "'ref' (alias 'range') required: cell range like 'A1:C10'. Rejects ranges that overlap existing tables. Names sanitized; style validated against built-in/custom whitelist. QUERY: `query table` returns real ListObjects (type=table) PLUS heuristically detected table-shaped blocks (type=detectedtable, stable=false, honest range path like /Sheet1/A1:D10 — never a fake /table[N]). Detection is strict/high-precision: a block qualifies only with a contiguous >=2-column non-numeric-text header row, >=1 data row below, and no overlap with a real ListObject. Use `query listobject` to get ONLY real ListObjects (no detection). add/set/get/remove operate exclusively on real ListObjects via /table[N]; detected blocks are query-only and addressed by their range path.",
|
|
"extends": [
|
|
"_shared/table",
|
|
"_shared/table.pptx-xlsx"
|
|
],
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string",
|
|
"description": "cell range reference (A1:C10). Required. Alias: range.",
|
|
"aliases": [
|
|
"range"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop ref=A1:C10"
|
|
],
|
|
"readback": "range string",
|
|
"enforcement": "report"
|
|
},
|
|
"displayName": {
|
|
"type": "string",
|
|
"description": "Excel UI display name. Defaults to name.",
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop displayName=SalesData"
|
|
],
|
|
"readback": "display name",
|
|
"enforcement": "report"
|
|
},
|
|
"headerRow": {
|
|
"type": "bool",
|
|
"description": "show header row. Alias: showHeader.",
|
|
"aliases": [
|
|
"showHeader"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop headerRow=true"
|
|
],
|
|
"readback": "true/false",
|
|
"enforcement": "report"
|
|
},
|
|
"totalRow": {
|
|
"type": "bool",
|
|
"description": "show total row. Aliases: totalsRow, showTotals.",
|
|
"aliases": [
|
|
"totalsRow",
|
|
"showTotals"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop totalRow=true"
|
|
],
|
|
"readback": "true/false",
|
|
"enforcement": "report"
|
|
},
|
|
"autoExpand": {
|
|
"type": "bool",
|
|
"description": "auto-expand range downward through contiguous non-empty rows at Add time.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": false,
|
|
"examples": [
|
|
"--prop autoExpand=true"
|
|
],
|
|
"readback": "affects range at Add time",
|
|
"enforcement": "report"
|
|
},
|
|
"showFirstColumn": {
|
|
"type": "bool",
|
|
"description": "highlight the first column with the table style. Alias: firstColumn.",
|
|
"aliases": [
|
|
"firstColumn"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop showFirstColumn=true"
|
|
],
|
|
"readback": "true/false",
|
|
"enforcement": "report"
|
|
},
|
|
"showLastColumn": {
|
|
"type": "bool",
|
|
"description": "highlight the last column with the table style. Alias: lastColumn.",
|
|
"aliases": [
|
|
"lastColumn"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop showLastColumn=true"
|
|
],
|
|
"readback": "true/false",
|
|
"enforcement": "report"
|
|
},
|
|
"showRowStripes": {
|
|
"type": "bool",
|
|
"description": "alternate-row banding from the table style. Default: true. Aliases: showBandedRows, bandedRows, bandRows.",
|
|
"aliases": [
|
|
"showBandedRows",
|
|
"bandedRows",
|
|
"bandRows"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop showRowStripes=false"
|
|
],
|
|
"readback": "true/false",
|
|
"enforcement": "report"
|
|
},
|
|
"showColumnStripes": {
|
|
"type": "bool",
|
|
"description": "alternate-column banding from the table style. Default: false. Aliases: showBandedColumns, bandedColumns, bandedCols, showColStripes, bandCols.",
|
|
"aliases": [
|
|
"showBandedColumns",
|
|
"bandedColumns",
|
|
"bandedCols",
|
|
"showColStripes",
|
|
"bandCols"
|
|
],
|
|
"add": true,
|
|
"set": true,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop showColumnStripes=true"
|
|
],
|
|
"readback": "true/false",
|
|
"enforcement": "report"
|
|
},
|
|
"columns": {
|
|
"type": "string",
|
|
"description": "comma-separated column header names overriding A1, B1, ... defaults.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": true,
|
|
"examples": [
|
|
"--prop columns=Name,Qty,Price"
|
|
],
|
|
"readback": "comma-separated column names as stored (e.g. \"Name,Qty,Price\")",
|
|
"enforcement": "report"
|
|
},
|
|
"totalsRowFunction": {
|
|
"type": "string",
|
|
"description": "comma-separated per-column totals row functions (none|sum|average|count|countNums|max|min|stdDev|var|custom). Effective only when totalRow=true.",
|
|
"add": true,
|
|
"set": false,
|
|
"get": false,
|
|
"examples": [
|
|
"--prop totalsRowFunction=none,sum,average"
|
|
],
|
|
"readback": "per-column tokens",
|
|
"enforcement": "report"
|
|
},
|
|
"totalFunction": {
|
|
"type": "string",
|
|
"add": false,
|
|
"set": false,
|
|
"get": true,
|
|
"description": "per-column totals-row function readback (surfaces on the column child node).",
|
|
"readback": "function token",
|
|
"enforcement": "report"
|
|
},
|
|
"totalLabel": {
|
|
"type": "string",
|
|
"add": false,
|
|
"set": false,
|
|
"get": true,
|
|
"description": "per-column totals-row label readback (surfaces on the column child node).",
|
|
"readback": "label text",
|
|
"enforcement": "report"
|
|
}
|
|
}
|
|
}
|