What a spreadsheet cell actually stores
An .xlsx is a ZIP of XML. A cell holds a raw value, a type letter and a style number. The style points to a number format, and only the format decides whether 46298 is a number or 3 October 2026. Formulas carry the last result Excel calculated, which other programs trust as-is. Open a workbook, or the sample written here, and click any cell to follow it from XML to what you see.
q3-orders.xlsx: sample written here: hidden sheets, a stale total, a lost card digit, a phantom date, a legacy-hashed sheet password<c r="G4" s="2"><f>E4+F4</f><v>90</v></c>
Excel stores a date as days since an epoch. In the 1900 system, day 1 is 1 January 1900, and day 60 is 29 February 1900, a date that never existed. Lotus 1-2-3 had the bug and Excel kept it for compatibility. The 1904 system, the old Mac default, starts four years and one day later. Most other software (LibreOffice, pandas, the usual JavaScript snippet) counts from 30 December 1899 instead, which matches Excel from 1 March 1900 on and is a day off before that.
Sheet protection stops casual edits in Excel’s own interface. The cells are still plain XML in the ZIP. Older files store the password as a 16-bit hash, so there are only 32,768 possible values and many short strings unlock the same sheet. Newer files store salted SHA-512 run 100,000 times, which slows guessing, but any tool can simply delete the <sheetProtection> element. Only “Encrypt with password” (a password to open) actually protects the contents.