Table Formatting
Style and layout options for table sections in paginated reports
Table sections are the workhorse of paginated reports. The options below control how a table looks, where its borders go, and how it splits across pages.
Density
Density controls row height and how many rows fit per page.
| Option | Row height | Use when |
|---|---|---|
| Comfortable | 36px | You want extra breathing room |
| Standard | 32px | Default — works for most reports |
| Compact | 28px | You need more rows per page |
| Dense | 24px | You want maximum rows per page |
Denser tables fit more rows per page. Choose Comfortable for executive-facing reports and Dense for operational lists.
Header Style
Controls the appearance of the column header row.
- Plain — no background, standard text
- Filled — subtle background fill behind the header row
- Accent — stronger accent color background for emphasis
Grid Lines
Controls which borders are drawn between cells and around the table.
| Option | What it draws |
|---|---|
| Full | All inner cell borders and the outer border |
| Outer | Only the outer table border |
| Inner | Only inner cell borders, no outer border |
| Horizontal | Only horizontal row dividers |
| Vertical | Only vertical column dividers |
| Top | A single border on the top edge |
| Right | A single border on the right edge |
| Bottom | A single border on the bottom edge |
| Left | A single border on the left edge |
| None | No borders |
Use Horizontal for clean financial tables, Outer for cards, and None for minimal text-heavy layouts.
Striped Rows
Toggle alternating row background colors. Striping helps the eye track across wide tables with many columns.
Text Wrapping
When enabled, cell text wraps to multiple lines instead of being truncated. Wrapped cells preserve the full value but make rows taller.
Repeat Header on Page Break
When a table spans multiple pages, the column header row repeats at the top of each continuation page. Recommended for any table that runs longer than a single page.
Totals Row
Show or hide an aggregated totals row at the bottom of the table. The totals row uses the aggregations defined on the source table.
Column Formatting
Per-column number formatting carries over from the source table — number format, decimals, negative display, and conditional color. Edit formatting on the source table; the report reflects your changes on the next render.
Text wrapping and pagination
Semaphor splits table rows across pages by measuring each rendered row. Two things to know:
- Wrapping off — rows are uniform height, so more rows fit per page.
- Wrapping on — wrapped rows are taller, so fewer rows fit per page.
Either way, no content is dropped. The table simply uses more pages when rows are taller. If page count matters more than full text, turn wrapping off; if readability matters more, leave it on.