Text in a hidden or collapsed band

xlsx.hidden-row-col

A row or column that is hidden — by the flag, or by being collapsed to nothing — shows a reader an unbroken grid while its cells read out normally.

How the text is hidden

Two spellings of the same result. A <row hidden="1"> or a <col hidden="1"> in the worksheet part removes the band from the grid. A band can also be collapsed dimensionally: <col customWidth="1" width="0"> or <row customHeight="1" ht="0.1"> renders nothing readable while carrying no hidden flag at all. Either way the <c> elements and their values are untouched, and unhiding is two clicks for a reviewer who suspects the band is there.

Why a model still reads it

Row height, column width and the hidden flag are presentation attributes on the band, not on the cell. An extractor reads <c> and its value or shared-string index, so the payload arrives in the text with nothing marking it as unseen.

What we do about it

The row walk treats hidden="1" (or "true") as hidden, and separately treats a customHeight row whose ht is at or below limits.bandCollapseMaxHeightPt as collapsed. readHiddenColumns does the same for <col>: the flag, or a customWidth column whose width is at or below limits.bandCollapseMaxWidthChars. Both thresholds are read from the rule pack. Cells in such a band get the invisible reason band-hidden; the rule xlsx-hidden-row-col reports at severity medium, action flag, and the text stays in the canonical output. visibilityOf grades it editing-only.

How often it fires

25% of 200 real workbooks from five national open-data portals (CA, IE, DE, GR, UK), measured 2026-08-21.

This is an alert-volume number and nothing else. It says how often the alarm sounds on documents as found — not how often it is right, and not whether what it found was harmless. Documents as found may themselves carry concealment. Read it against the population named above rather than as a property of documents in general.

next

Check your own file

Three commands: a key, credit, a verdict.

Start with the API