Format as Table

If you have ever converted a plain range in Excel to a “Table” and watched it grow up into a proper object with a name, banded rows, a header, a totals row and sane filter buttons — you already know the feature. What you might not know is that Calc has been missing most of it for years. We had the data-range concept under the hood, but none of the visual side: no gallery, no style toggles, no round-trip of the 60 built-in styles that every real-world .xlsx uses.

It finally landed. Calc now has the full Excel-compatible Table Styles experience, and it works in both Collabora Office and Collabora Online.

Before (left) and after (right): one click turns the range into a real Table.

What this gives you

All 60 ECMA-376 built-in styles — Light, Medium, Dark — plus every custom style shipped inside a .xlsx.

Live toggles for Header, Totals, Banded rows, Banded columns, First column, Last column.

Styles follow the document theme. Change the theme and every table re-colours itself; custom styles keep their themed fills, font colours and borders, non-themed colours are left alone.

Round-trip with Excel that actually matches — no more “looked fine in Calc, broken in MSO” bug reports.

Generation moved out of the OOXML import filter and into Calc core, so the 60 default styles exist on any themed document.

How a Table Style is built up

Under the hood a Table Style is made of 11 typed “style elements”: WholeTable as the base, then HeaderRow and TotalRow for the top/bottom bands, FirstColumn and LastColumn for the side accents, four row/column stripe elements for the banding, and the two header-corner cells. For every cell the renderer walks them in priority order and picks the first one carrying the attribute it needs.

The Table Design tab: style gallery + live option toggles in the sidebar.

How to use

Collabora Online 25.04 / 26.04 / Collabora Office / Classic build, open a fresh Calc document, drop in some data — then:

Insert → Table, or Data → Table → Insert (from main toolbar menu).

Flip Header / Totals / Banded rows / Banded columns from the Table Design tab and watch the renderer recompose the 11 slots live.

Change the document theme and every table retints — defaults regenerated, custom styles re-resolved.
Round-trip: save as .xlsx, reopen in Excel. The .xlsx side is the one to test hardest — ODS save is on the next-list (see above).

Not there yet

Full disclosure — this is a big chunk of the feature, but not all of it. A few things are deliberately on the next-list:

  • ODF support — styles live in core so the renderer works for any themed doc, but they’re not yet written out to .ods. Save as .ods and the table becomes a plain range on reopen. .xlsx round-trips fine.
  • Convert to Range — un-Table a range and keep the data and formatting.
  • Clear table formatting while keeping the Table (the Excel “None” style does this).
  • Set a custom style as the workbook default.
  • Auto-extending PivotTable source when a Table grows.


Further out: a UI to create and edit custom table styles, and slicers for visual filtering. These are bigger related, but seperate features.

Credits

Markus Mohrhard — long-time LibreOffice volunteer (also worked for Collabora) — who started the work on the OOXML side of Table Styles last summer and worked on that for a few weeks; Then I (Balazs) took over. For Online S. Kłos , B. Pascal worked on the Online preview style icons (icon design).

Leave a Reply