Samples
Download Sample Excel Workbooks
Use small, reproducible XLSX fixtures for reading, writing, formulas, multiple sheets, large-file streaming, and invalid-import examples.
Choose a workbook#
Customers
First read, headers, booleans, dates, arrays, and columns.
Multiple worksheets
Sheet discovery, active-sheet helpers, named selection, and worksheet fallback.
Sales report
Dates, formulas, summary sheets, numeric values, and report inspection.
Formulas and styles
Formula cells, cached values, merged headings, number formats, and styles.
Invalid product import
Missing values, negative prices, invalid quantities, bad email, duplicate SKU, and unknown status.
Large-order fixture
Streaming, chunking, progress, limits, projection, and memory measurements.
Copy a fixture into your project#
Keep documentation fixtures in a predictable local path.
Copy only the workbook you need into a test or development fixture directory so examples remain easy to reproduce.
my-project/
├── vendor/
├── examples/
│ └── read-customers.php
└── storage/
└── samples/
└── customers.xlsxPoint the example at the local fixture.
Use the known worksheet and header row first. Once that succeeds, move the same workflow to application-specific input.
<?php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use Mnb\PHPExcel\MnbExcel;
$path = __DIR__ . '/../storage/samples/customers.xlsx';
$rows = MnbExcel::read($path)
->sheet('Customers')
->withHeaderRow(1)
->toArray();
print_r($rows);Use fixtures as tests, not production templates#
Known input, known expectation.
These files are intentionally small and deterministic. Use them to confirm installation and documented behavior. Production uploads still require file-size, package, worksheet, header, row, and business-rule validation.
Checksums for every fixture are published separately so you can verify that the downloaded workbook is unchanged.
sample-workbook-checksums.txt →