Simple XLSX file data read-write PHP class
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
templates eiseXLSX Apr 2014 Apr 22, 2014
.gitignore .gitignore Sep 10, 2016 eiseXLSX master update Oct 10, 2017
composer.json composer.json Sep 20, 2018
eiseXLSX.php Locale-dependency fix Sep 20, 2018
zipfile.php eiseXLSX: some docs updated Nov 18, 2016


XLSX file data read-write library that operates with native cell addresses like A1 or R1C1.

This class was designed for server-side manipulations with uploaded spreadsheets in Microsoft® Excel™ 2007-2011-2013 file format – OpenXML SpereadsheetML.

Current version of this library allows to read user-uploaded file contents and to write data to preliminary uploaded template file and send it back to the user:

  • it allows to change existing cell data
  • clone rows and fill-in new rows with data
  • clone sheets within workbook, remove unnecessary sheets
  • colorization of cells.

This library offers an easiest way to make Excel™-based EDI with PHP-based information systems, for data input and output.

Users are no longer need to convert Excel™ spreadsheets to CSV and other formats, they can simply upload data to the website using their worksheets.

You can use files received from users as your website’s output document templates with 100% match of cell formats, sheet layout, design, etc. With eiseXLSX you can stop wasting your time working on output documents layout – you can just ask your customer staff to prepare documents they’d like to see in XLSX format. Then you can put these files to the server and fill them with necessary data using PHP.

Unlike other PHP libraries for XLSX files manipulation eiseXLSX is simple, compact and laconic. You don’t need to learn XLSX file format to operate with it. Just use only cell addresses in any formats (A1 and R1C1 are supported) and data from your website database. As simple as that.

Project home: On-line Reference Manual:

PHPClasses home:



  • Obtain formatted XLSX from your customer
  • Unzip it to the folder inside your project (or any other folder you like)
  • Make PHP script and include similar code inside:
include_once "eiseXLSX/eiseXLSX.php";

$xlsx = new eiseXLSX("myemptyfile.xlsx");

$xlsx->data('A4', 'Hello, world!'); // either A1 or R1C1 are accepted

$xlsx->Output("mynewfile.xlsx", "F"); // save the file


include_once "eiseXLSX.php";
try { //give it a try to avoid any uncaught error 
      // caused by broken content of uploaded file
    $xlsx = new eiseXLSX($_FILES["fileXLSX"]["tmp_name"]);
} catch(eiseXLSX_Exception $e) {

echo ($myData = $xlsx->data("R15C10")); //voilat!

Latest news:

  • WARNING: eiseXLSX::Output() function behaviour is changed. See more at
  • method eiseXLSX::getDataValidationList($cellAddress) - returns data validation list as associative array.
  • static method eiseXLSX::checkAddressInRange() - checks whether cell address belong to given range or not.
  • method eiseXSLX::getDataByRange() - returns associative array of data in specified cell range.