application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
XLSX sample workbook files for testing
Download a verified XLSX fixture for spreadsheet uploads, package signatures, sheet metadata, parsing, and preview tests.
Verified . ZIP signature, Office MIME, package entries, sheet count, exact bytes, SHA-256, and download behavior are verified.
Identify XLSX files
- Magic signature
50 4B 03 04 (ZIP package)- Registered MIME
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
XLSX is a ZIP-based OPC package. Confirm workbook and xl/ entries instead of trusting the extension.
Choosing XLSX
XLSX is an Office Open XML ZIP package supported by spreadsheet applications and common parsing libraries.
Validate package structure before parsing.
Apply row, formula, and processing limits to untrusted workbooks.
Common test cases
- Spreadsheet upload validation
- Sheet metadata extraction
- Parser limit tests
Invalid and boundary cases
- Formula injection
- Very large used ranges
- Generic ZIP renamed to XLSX
XLSX fixture matrix
| File | Structure | MIME | Size |
|---|---|---|---|
| Sample workbook XLSXsample-workbook.xlsx | 1 sheet | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | 6 KB |
Verify the representative fixture
Each command downloads sample-workbook.xlsx and uses its published URL. The Node.js and Python examples also verify the exact byte count and SHA-256 digest.
Download the published fixture and inspect its response headers before saving the exact bytes.
curl --fail --location --silent --show-error \
--output sample-workbook.xlsx \
--write-out 'status=%{http_code}\ncontent_type=%{content_type}\nbytes=%{size_download}\n' \
'https://assets.testfiles.dev/documents/sample-workbook.xlsx'Save the stable fixture URL without changing the published byte stream.
wget --output-document='sample-workbook.xlsx' 'https://assets.testfiles.dev/documents/sample-workbook.xlsx'Verify the downloaded byte count and SHA-256 digest in a Node.js workflow.
import assert from "node:assert/strict";
import { createHash } from "node:crypto";
const response = await fetch("https://assets.testfiles.dev/documents/sample-workbook.xlsx");
assert.equal(response.ok, true);
assert.match(response.headers.get("content-type") ?? "", /application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet/i);
const bytes = Buffer.from(await response.arrayBuffer());
assert.equal(bytes.length, 6269);
assert.equal(createHash("sha256").update(bytes).digest("hex"), "7ecbbd444e4b58b5bc6d14b0a147b81f3415edd2144f1cd63b5423991136d184");
console.log("Verified sample-workbook.xlsx", bytes.length, "bytes");Verify the same fixture from a Python test or processing pipeline.
import hashlib
import requests
url = "https://assets.testfiles.dev/documents/sample-workbook.xlsx"
response = requests.get(url, timeout=30)
response.raise_for_status()
assert "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" in response.headers.get("content-type", "")
assert len(response.content) == 6269
assert hashlib.sha256(response.content).hexdigest() == "7ecbbd444e4b58b5bc6d14b0a147b81f3415edd2144f1cd63b5423991136d184"
print("Verified sample-workbook.xlsx", len(response.content), "bytes")