The .xlsx file.
A zipped folder of XML that most people treat as a database. Almost every analytical problem with a workbook comes from that gap.
Also .xlsm, .xls, which are read the same way.
What it actually is
An .xlsx is a ZIP archive. Rename one to .zip and open it and you get a folder of XML: one file per worksheet, one shared table of every string in the workbook, and separate parts for styles, charts and defined names. This is why a workbook can be read without Excel installed, and why a corrupt file is often recoverable by opening the parts directly.
It replaced the older binary .xls in 2007. The important consequence for analysis is that everything in the file is addressable: a formula, a cell's number format, a merged range and a pivot cache are all separate, inspectable structures rather than opaque bytes.
What it is not is a table. A worksheet is a grid of cells with no concept of where a dataset begins or ends, which is why a title block, a stranded subtotal and three tables side by side are all perfectly legal and all completely invisible to anything that assumes row 1 is a header.
At a glance
- Really a
- ZIP archive of XML parts
- Rows per sheet
- 1,048,576
- Columns per sheet
- 16,384, ending at XFD
- Number precision
- IEEE 754 double, displayed to 15 significant digits
- Dates stored as
- A serial number counting from 1900, or 1904 on some Mac files
- Read here as
- Direct. Every sheet, including the ones that are notes.
- Status
- Ready
- Fidelity
- Read directly
- Largest file
- 250 MB
Every sheet read, including the ones that are notes rather than data.
Upload one
The analysis runs before there is anything to pay for. You see what it found, and the evidence behind it, first.
No account needed to start. You only pay when you like what you see.
What goes wrong, and what is done about it
01
The 1900 leap year that never happened
Excel's date serial numbers treat 1900 as a leap year, because Lotus 1-2-3 did and compatibility won. Every date before 1 March 1900 is off by one day. Separately, workbooks saved on older Macs count from 1904 instead, so the same serial number is four years and a day apart depending on the file.
Dates are read with the workbook's own epoch setting rather than a global assumption, and a file mixing both is reported instead of silently blended.
02
Numbers stored as text
A value that arrived as "1,240.00" with a trailing non-breaking space is a string. It looks identical in the cell and is skipped by every sum. The total is not wrong so much as quietly incomplete, and the shortfall is usually small enough to look plausible.
Numeric-looking text is detected per column, converted, and the conversion is listed in the change log with a count, so you can see how much of your total was missing.
03
Subtotal rows that look like data rows
Someone adds a total under each region. Someone else later sums the whole column, and every value is counted twice. The signature is a figure that is close to double, or that exceeds the sum of the parts by a suspiciously round proportion.
Rows whose value equals the sum of the rows immediately above them are identified as subtotals and excluded from the data, with the exclusion stated rather than assumed.
04
15 significant digits, silently
Excel stores numbers as doubles and truncates display at 15 significant digits. A 16-digit account number, order id or barcode typed into a general-formatted cell loses its last digit permanently, and the file gives no indication that it happened.
Columns of long numeric identifiers are read as text where the values show the trailing-zero signature of this truncation, and flagged so the source can be re-exported as text.
Questions people ask
Do I need to tidy the workbook first?
No, and tidying it by hand usually destroys evidence. Merged cells, several tables on one sheet, a title block above the data and dates in four formats are the normal case. Finding where the real tables start and end is the first thing that happens, and every repair is listed with a before and after.
Are macros run?
Never. A macro-enabled .xlsm is read for its values and its formulas; the VBA project is not executed and never will be. There is no configuration that turns that on.
What happens to my formulas?
Both the computed value and the formula text are read. That matters because a formula is evidence: a hardcoded number sitting inside a range of formulas, or a range that stops one row short of the data, are two of the most common ways a workbook is wrong in a way nobody notices.
What is the largest workbook I can upload?
250 MB, which is many times the size of the largest workbook Microsoft ships as a sample of a large one — its Retail Analysis model holds 1.3 million rows and does not come close. Above this, export the sheet as CSV or Parquet: both are a fraction of the size for the same rows.