Sample Excel Files by Row Count
Parsing Excel data in memory is dangerous. In the OOXML standard, text strings are heavily deduplicated into a single xl/sharedStrings.xml dictionary, while the actual cell grid is stored in xl/worksheets/sheet1.xml using pointers. If a parser attempts to load a massive sheet into memory (using a DOM parser), it will almost certainly trigger an Out-Of-Memory (OOM) exception.
These files contain exact row counts—ranging from 10 rows up to the absolute Excel maximum of 1,048,576 rows—to help you benchmark and tune your application to use Streaming APIs (SAX parsing) for memory-safe ingestion.
10 rows
A minimal 10-row dataset for quick unit tests and parser initialization.
100 rows
A 100-row file, typical for basic list uploads.
1000 rows
A 1,000-row dataset to test basic pagination and UI rendering.
10000 rows
A 10,000-row file. At this size, naive DOM parsers begin to slow down noticeably.
50000 rows
A 50,000-row file for testing chunked database inserts.
100000 rows
A 100,000-row dataset. Requires efficient memory management and potentially background job queues.
250000 rows
A 250,000-row file to stress-test stream parsers.
500000 rows
A 500,000-row file representing a heavy data-export payload.
1000000 rows
A 1,000,000-row dataset to benchmark extreme ingestion speed.
max rows
Exactly 1,048,576 rows—the absolute physical limit of a modern Excel worksheet.
Frequently Asked Questions
Use Cases
- Benchmarking DOM vs SAX (Streaming API for XML) parser performance.
- Ensuring backend systems (Node.js, Python, Java) do not crash with OOM errors when processing massive datasets.
- Validating data ingestion pipelines and batch-processing throughput (e.g., inserting chunks of 10k rows into PostgreSQL).
- Testing the Excel hard limit (1,048,576 rows) for grid rendering or CSV conversion.