Skip to content

API reference / Common / Engine types / TableRow

Type Alias: TableRow ​

ts
type TableRow = 
  | {
  regular: TableRegularRow;
}
  | {
  control: TableControlRow;
}
  | {
  customXml: TableCustomXmlRow;
};

One row of a Table — what OOXML lets sit directly inside w:tbl, where a row may sit.

Row is the category, and w:tr is one member of it: the plain row is the Regular variant, carrying a [TableRegularRow], and a container wrapping consecutive rows is a row of this sequence as much as that is. The shape TextSpan takes for w:r, for the same reason — the schema puts them in one choice group.

A bookmark's markers are legal in the group and are no variant: a bookmark's marks are spans of a paragraph, so import moves one written between rows into the nearest cell's story. What else sits here is not settled: w:commentRangeStart, w:permStart and w:proofErr are legal too, and it is still open whether they become variants or ride on [TableRegularRow] as properties — as a tracked row insertion already does, being w:trPr/w:ins rather than a wrapper.

The grid does not see this sequence. Rows carry the axis (TableRowId), a control carries none, and Table::grid_rows descends through the controls so that (row, column) still addresses every cell.