Sample XLSX files for testing, free, CC0 and hotlinkable

XLSX is Excel's workbook format, and the one import screens and data pipelines are asked to read more than any other. These workbooks cover the shared people dataset and the cell-level details that trip readers.

xlsx/1sheet-10rows.xlsx and xlsx/1sheet-1000rows.xlsx hold one sheet with a bold, frozen header row and ten or a thousand records of the people dataset; the first ten rows are the same in both.

xlsx/with-formulas.xlsx has SUM, AVERAGE, IF and VLOOKUP formulas over a ten-line order table, each with its result cached in the file, so readers that do not calculate, such as pandas, still see values. xlsx/with-types-and-formats.xlsx has one row per cell type and number format, including dates, percentages, currency and text that only looks numeric, such as 007. xlsx/3sheets-with-formulas.xlsx has three sheets, and its summary sheet's formulas read the other two, with results cached; one sheet name holds a space, so those references are quoted, as in 'Order lines'!F2:F11.

For size limits, xlsx/1mb.xlsx and xlsx/10mb.xlsx add a sheet of incompressible noise images. Related formats: CSV, DOCX and Parquet.

7 files. The same list as JSON: https://loremfile.dev/xlsx/index.json

XLSX files
FileSizePropertiesDescription
10mb.xlsx 10.1 MB (10,081,121 bytes) 2 sheets, 52 rows About 10MB: a people sheet plus a second sheet of embedded incompressible seeded-noise PNGs, so the size is honest rather than padded.
Snippets
<a href="https://loremfile.dev/xlsx/10mb.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/10mb.xlsx
1mb.xlsx 994.6 KB (994,556 bytes) 2 sheets, 6 rows About 1MB: a people sheet plus a second sheet of embedded incompressible seeded-noise PNGs, so the size is honest rather than padded.
Snippets
<a href="https://loremfile.dev/xlsx/1mb.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/1mb.xlsx
1sheet-1000rows.xlsx 156.7 KB (156,719 bytes) 1 sheets, 1,001 rows One sheet: a bold, frozen header row plus a thousand records of the shared people dataset. The first ten rows are the same records as the ten-row fixture.
Snippets
<a href="https://loremfile.dev/xlsx/1sheet-1000rows.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/1sheet-1000rows.xlsx
1sheet-10rows.xlsx 7.2 KB (7,150 bytes) 1 sheets, 11 rows One sheet: a bold, frozen header row plus ten records of the shared people dataset across all fourteen columns.
Snippets
<a href="https://loremfile.dev/xlsx/1sheet-10rows.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/1sheet-10rows.xlsx
3sheets-with-formulas.xlsx 9 KB (8,969 bytes) 3 sheets, 11 rows Three sheets: ten people, ten order lines, and a summary whose COUNTA, SUM, AVERAGE, VLOOKUP and COUNTIF formulas read the other two, each with its result cached. The order sheet's name has a space in it, so every reference to it is quoted, as in 'Order lines'!F2:F11.
Snippets
<a href="https://loremfile.dev/xlsx/3sheets-with-formulas.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/3sheets-with-formulas.xlsx
with-formulas.xlsx 5.5 KB (5,489 bytes) 1 sheets, 11 rows SUM, AVERAGE, IF and VLOOKUP over a ten-line order table, each with its result cached in the file. Readers that do not calculate (pandas, openpyxl's data_only mode) still see the values.
Snippets
<a href="https://loremfile.dev/xlsx/with-formulas.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/with-formulas.xlsx
with-types-and-formats.xlsx 5.5 KB (5,516 bytes) 1 sheets, 17 rows One row per cell type and number format: text, integer, float, negative, booleans, date, time, datetime, percentage, currency, scientific, an empty cell, and text that only looks numeric ('007', '2020-01-01', a phone number).
Snippets
<a href="https://loremfile.dev/xlsx/with-types-and-formats.xlsx">download</a>
curl -O https://loremfile.dev/xlsx/with-types-and-formats.xlsx

Every XLSX file in one command, each checked against its hash: npx loremfile get --format xlsx, or loremfile get --format xlsx after pip install loremfile.

File names follow the naming grammar. Verify a download against sha256sums.txt.