XLSXReader is a small PHP class for reading data from Microsoft Excel XLSX (OpenXML) files. There are some much more comprehensive Excel libraries for PHP, but I created this because I was looking for a library that made it as easy as possible to:
- Open an Excel file
- Get a list of the sheets (names and sheetIds)
- Get the data out from a sheet into an array
XLSXReader requires the ZIP extension.
Thanks to Sergey Schuchkin for his SimpleXLSX library that served as the inspiration for XLSXReader. While most of it has been rewritten, some of his code still remains.
Open an Excel file:
require('XLSXReader.php');
$xlsx = new XLSXReader('sample.xlsx');
Get a list of the sheets:
$sheets = $xlsx->getSheetNames();
Get the data from a sheet:
$data = $xlsx->getSheetData('Sales');
Catch eventual encoding errors:
try {
$data = $xlsx->getSheetData('Sales');
} catch (Exception $e) {
print('Oops! Please use different encoding: '.$e."\n");
}
There are many things XLSXReader does not aim to do:
- Handle sheets with a large amount of data - XLSXReader uses SimpleXML to read the sheet data, so the entire XML file is read into memory when accessing a sheet.
- Extract formatting, formulas, comments, headers, footers, properties, or charts
- Create or edit Excel files
If you need those capabilities, I would take a look at PHP-Excel.