XLS and XLSX, and the row limit

The older format holds 65,536 rows. Export 80,000 and you get 65,536 of them, often with no warning at all.

These two formats differ in several ways and one of them causes real damage: the older format cannot hold more than 65,536 rows.

A spreadsheet ending at row 65,536 with the export reporting success.
A spreadsheet ending at row 65,536 with the export reporting success.

The limit

Older format. 65,536 rows, 256 columns.

Newer format. 1,048,576 rows, 16,384 columns.

Export a hundred thousand transactions to the old format and you receive sixty-five thousand of them. Whether you are told depends on the route: some tools warn with a dialogue that is easy to dismiss, and several export paths produce nothing at all.

The file opens, looks normal, and is missing a third of the data. That is discovered later, when a total does not match, and by then the analysis has been shared.

Older format Newer format
Row limit 65,536 1,048,576
Column limit 256 16,384
Warns on truncation Sometimes Not applicable
Size, same data Larger Smaller
Readable by other tools Poorly Well

Check the row count

After any export in the old format, look at the last row number.

Exactly 65,536 is not a coincidence. It is the limit, and it means the export was truncated.

This check takes two seconds and it is the single most useful habit in this area. Anyone who has been caught by it once does it forever.

Why it still happens

Reporting modules written years ago and never revisited.

The system is not choosing the old format; nobody has changed a setting since it was written. In many organisations the export format is a line in a configuration file that has outlived several rounds of staff.

If you control it, change it. If you do not, check the row count every time.

An export dialogue with the file format option set to the newer format.
An export dialogue with the file format option set to the newer format.

The other differences

The newer format is a zip archive containing XML. That makes it smaller for the same content, partially recoverable when damaged, and readable by tools that do not reverse-engineer a binary format.

The older format is a single binary blob with a long history as a vehicle for macros, so mail scanners treat it with more suspicion and occasionally block it.

None of those matter as much as the row limit, and all of them point the same way.

What to send a person

Neither, if they are only reading.

A spreadsheet on a phone is close to unusable, and a recipient who wanted three figures now has a file, an application and a grid. Publish a table on a page and keep the file underneath for anyone doing arithmetic.

And check every tab before sharing outside. Both formats carry hidden sheets, formulas and source data, and that is how internal costings reach clients.

Closely related: PPT and PPTX, and which to send, and How to share a spreadsheet as a link for the adjacent problem.

Put it at an address

Check the row count after any old-format export, use the newer format for anything with real data, fix the export setting where you can, send a table to readers, and check every tab before sharing.

Then the file that arrives contains all of the data.

Questions people ask

What is the row limit?

The older format stops at 65,536 rows and 256 columns. The newer one allows over a million rows and 16,384 columns.

Does it warn when data is lost?

Sometimes, and the warning is easy to dismiss, and some export routes produce no warning at all. Truncated exports are discovered weeks later when a total does not match.

What else differs?

The newer format is a zip of XML, so it is smaller, partially recoverable when damaged, and readable by other tools. The older one is a binary blob.

Why do systems still export the old format?

Legacy reporting modules written years ago and never revisited. The system is not choosing it; nobody has changed it.

What should I send someone?

The newer format if they are working with the data. A table on a page if they are only reading it, because a spreadsheet on a phone is close to unusable.

Keep reading