PHP Classes

eiseXLSX: Read and write Excel spreadsheets in XLSX format

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-06-15 (3 months ago) RSS 2.0 feedStarStarStarStar 63%Total: 2,297 All time: 1,699 This week: 38Up
Version License PHP version Categories
eisexlsx 1.33GNU General Publi...5.2XML, PHP 5, Files and Folders, Parsers
Description 

Author

This class can read and write Excel spreadsheets in XLSX format.

It can read and parse an existing spreadsheet file in the Microsoft Excel 2007-2011-2013 format.

The class allows to modify workbook contents by changing cell data and colors, insert or clone rows, clone or remove sheets.

The changed spreadsheet can be saved back to an Excel file and then served for download.

Picture of Ilya Eliseev
Name: Ilya Eliseev <contact>
Classes: 1 package by
Country: Russian Federation Russian Federation
Age: 48
All time rank: 133842 in Russian Federation Russian Federation
Week rank: 195 Up9 in Russian Federation Russian Federation Up

Recommendations

Read huge Excel file
Read excel file of min 43MB and export values to MySQL

HTML to Excel on the fly
Create Any HTML to Excel on The Fly

What is the best PHP excel read write class?
Read and write to an Excel file

Documentation

eiseXLSX

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.

Donate on Patreon: https://www.patreon.com/easyise

Project home: <http://russysdev.github.io/eiseXLSX/> On-line Reference Manual: <https://russysdev.github.io/eiseXLSX/docs>

PHPClasses home: <https://www.phpclasses.org/package/8573-PHP-Read-and-write-Excel-spreadsheets-in-XLSX-format.html>

Examples

Write:

  • 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:
<?php
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
?>

Read:

<?php
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) {
    die($e->getMessage());
}

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

Latest news:

  • __1.6.1.0__: Now there's the unlockSheets() method that removes necessity to enter password to modify any data/run macro by withdrawing of sheetProtection tag from all or some specified sheets. \
    Example:
    $xlsx->unlockSheets(); // unlocks all sheets
    
    or
    
    $xlsx->unlockSheets(1); // unlocks sheet with sheetId=1
    or
    
    $xlsx->unlockSheets([1, 2, 4]); // unlocks sheet with sheetId's 1, 2 and 4.
  • __1.6.0.4__: I've added an ability to keep formulas in cells when data is set. Function data() is updated with parameter $flags, put there ['keep_formula'=>True] and formula will be kept for given cell. \
    Example:
    $xlsx->data('R1C1', 42, 'n', ['keep_formula' => True]);
    
  • WARNING: eiseXLSX::Output() function behaviour is changed. See more at <https://russysdev.github.io/eiseXLSX/docs#eisexlsx-output>.
  • 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.

&copy;2013-2022 Ilya S. Eliseev \ Licensed under GNU Public License v 2.0


  Files folder image Files (16)  
File Role Description
Files folder imagetemplates (1 file, 1 directory)
Accessible without login Plain text file composer.json Data Auxiliary data
Plain text file eiseXLSX.php Class Class source
Accessible without login Plain text file README.md Doc. Auxiliary data
Plain text file zipfile.php Class Class source

  Files folder image Files (16)  /  templates  
File Role Description
Files folder imageempty (3 directories)
  Accessible without login Plain text file empty.xlsx Data Auxiliary data

  Files folder image Files (16)  /  templates  /  empty  
File Role Description
Files folder imagedocProps (2 files)
Files folder imagexl (3 files, 3 directories)
Files folder image_rels (1 file)

  Files folder image Files (16)  /  templates  /  empty  /  docProps  
File Role Description
  Accessible without login Plain text file app.xml Data Auxiliary data
  Accessible without login Plain text file core.xml Data Auxiliary data

  Files folder image Files (16)  /  templates  /  empty  /  xl  
File Role Description
Files folder imagetheme (1 file)
Files folder imageworksheets (3 files)
Files folder image_rels (1 file)
  Accessible without login Plain text file sharedStrings.xml Data Auxiliary data
  Accessible without login Plain text file styles.xml Data Auxiliary data
  Accessible without login Plain text file workbook.xml Data Auxiliary data

  Files folder image Files (16)  /  templates  /  empty  /  xl  /  theme  
File Role Description
  Accessible without login Plain text file theme1.xml Data Auxiliary data

  Files folder image Files (16)  /  templates  /  empty  /  xl  /  worksheets  
File Role Description
  Accessible without login Plain text file sheet1.xml Data Auxiliary data
  Accessible without login Plain text file sheet2.xml Data Auxiliary data
  Accessible without login Plain text file sheet3.xml Data Auxiliary data

  Files folder image Files (16)  /  templates  /  empty  /  xl  /  _rels  
File Role Description
  Accessible without login Plain text file workbook.xml.rels Data Auxiliary data

  Files folder image Files (16)  /  templates  /  empty  /  _rels  
File Role Description
  Accessible without login Plain text file .rels Data Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:2,297
This week:0
All time:1,699
This week:38Up
 User Ratings  
 
 All time
Utility:95%StarStarStarStarStar
Consistency:85%StarStarStarStarStar
Documentation:75%StarStarStarStar
Examples:-
Tests:-
Videos:-
Overall:63%StarStarStarStar
Rank:805