Cell blanked by its number format
A custom number format made only of empty sections renders the cell visually empty while its value survives in the file in full.
How the text is hidden
An Excel number format code has up to four sections, separated by semicolons: positive; negative; zero; text. Each section says how to draw that class of value, and an empty section draws nothing. A format of ;;; — four empty sections — therefore renders every value in the cell as blank space on the grid, while the value itself stays in the cell's <v> element or in xl/sharedStrings.xml, untouched. The format is applied through the cell's style: <c s="…"> indexes cellXfs, that entry names a numFmtId, and the code sits in a <numFmt> in xl/styles.xml — three hops away from the cell.
Why a model still reads it
The number format is a drawing instruction. Every extractor reads the value, not the instruction, so the cell that a person sees as empty arrives in the text as its stored contents.
What we do about it
readStyles builds a map of numFmtId to format code from <numFmt> entries and attaches the code to each cellXfs entry. rendersBlank splits the code into sections and asks whether they are all empty, taking the cell's value type into account: a numeric cell needs three empty sections, a text-typed cell needs an explicit empty fourth. Matching cells get the invisible reason blank-number-format; the rule xlsx-blank-number-format reports at severity high with action strip, so the value is removed from the canonical text. visibilityOf grades it never.
How often it fires
0% 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.
Check your own file
Three commands: a key, credit, a verdict.
Start with the API