PHP Classes

Simple PHP XLSX Generator: Export data in Excel XLSX format

Recommend this page to a friend!
  Info   View files Documentation   Screenshots Screenshots   View files View files (7)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 627 This week: 1All time: 5,037 This week: 158Up
Version License PHP version Categories
simplexlsxgen 0.9.13MIT/X Consortium ...5XML, Files and Folders


This package can export data in Excel XLSX format.

It can take an array of data with the definition of the values that will fill a spreadsheet and exports that spreadsheet definition to MicroSoft Excel XLS format.

The generated spreadsheet can be saved to a file with a given file name or be served for download via the current Web browser.

Picture of Sergey Shuchkin
  Performance   Level  
Name: Sergey Shuchkin <contact>
Classes: 4 packages by
Country: Russian Federation Russian Federation
Age: 42
All time rank: 533 in Russian Federation Russian Federation
Week rank: 21 Up1 in Russian Federation Russian Federation Up
Innovation award
Innovation award
Nominee: 1x



<img src="" /> <img src="" /> <img src="" /> <img src="" />

Export data to Excel XLSX file. PHP XLSX generator. No external tools and libraries. - XLSX reader here - XLS reader here - CSV reader/writer here

Sergey Shuchkin <> 2020-2021<br/>

Hey, bro, please ? the package for my motivation :) and donate for more motivation!

Basic Usage

$books = [
    ['ISBN', 'title', 'author', 'publisher', 'ctry' ],
    [618260307, 'The Hobbit', 'J. R. R. Tolkien', 'Houghton Mifflin', 'USA'],
    [908606664, 'Slinky Malinki', 'Lynley Dodd', 'Mallinson Rendel', 'NZ']
$xlsx = Shuchkin\SimpleXLSXGen::fromArray( $books );
$xlsx->saveAs('books.xlsx'); // or downloadAs('books.xlsx') or $xlsx_content = (string) $xlsx 

XLSX screenshot


The recommended way to install this library is through Composer. New to Composer?

This will install the latest supported version:

$ composer require shuchkin/simplexlsxgen

or download class here


Data types

$data = [
    ['Integer', 123],
    ['Float', 12.35],
    ['Percent', '12%'],
    ['Datetime', '2020-05-20 02:38:00'],
    ['Datetime PHP', new DateTime('2021-02-06 21:07:00')],
    ['String', 'Long UTF-8 String in autoresized column'],
    ['Hyperlink', ''],
    ['Hyperlink + Anchor', '<a href="">SimpleXLSXGen</a>'],
    ['RAW string', "\0".'2020-10-04 16:02:00']
Shuchkin\SimpleXLSXGen::fromArray( $data )->saveAs('datatypes.xlsx');

XLSX screenshot


$data = [
    ['Normal', '12345.67'],
    ['Bold', '<b>12345.67</b>'],
    ['Italic', '<i>12345.67</i>'],
    ['Underline', '<u>12345.67</u>'],
    ['Strike', '<s>12345.67</s>'],
    ['Bold + Italic', '<b><i>12345.67</i></b>'],
    ['Hyperlink', ''],
    ['Italic + Hyperlink + Anchor', '<i><a href="">SimpleXLSXGen</a></i>'],
    ['Green', '<style color="#00FF00">12345.67</style>'],
    ['Bold Red Text', '<b><style color="#FF0000">12345.67</style></b>'],
    ['Blue Text and Yellow Fill', '<style bgcolor="#FFFF00" color="#0000FF">12345.67</style>'],
    ['Left', '<left>12345.67</left>'],
    ['Center', '<center>12345.67</center>'],
    ['Right', '<right>Right Text</right>'],
    ['Center + Bold', '<center><b>Name</b></center>'],
    ['<center>MERGE CELLS</center>', null]
SimpleXLSXGen::fromArray( $data )
    ->setDefaultFont( 'Courier New' )
    ->setDefaultFontSize( 14 )

XLSX screenshot

More examples

// Fluid interface, output to browser for download
Shuchkin\SimpleXLSXGen::fromArray( $books )->downloadAs('table.xlsx');

// Fluid interface, multiple sheets
Shuchkin\SimpleXLSXGen::fromArray( $books )->addSheet( $books2 )->download();

// Alternative interface, sheet name, get xlsx content
$xlsx_cache = (string) (new Shuchkin\SimpleXLSXGen)->addSheet( $books, 'Modern style');

// Classic interface
use Shuchkin\SimpleXLSXGen
$xlsx = new SimpleXLSXGen();
$xlsx->addSheet( $books, 'Catalog 2021' );
$xlsx->addSheet( $books2, 'Stephen King catalog');


ini_set('error_reporting', E_ALL );
ini_set('display_errors', 1 );

$data = [
    ['Debug', 123]

Shuchkin\SimpleXLSXGen::fromArray( $data )->saveAs('debug.xlsx');

  • books.png
  • datatypes.png
  Files folder image Files  
File Role Description
Files folder imagesrc (1 file)
Accessible without login Plain text file Data 1.2.10
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file Lic. License text
Accessible without login Plain text file Doc. Documentation
Accessible without login Image file styles.png Data 1.2.10

  Files folder image Files  /  src  
File Role Description
  Plain text file SimpleXLSXGen.php Class Class source

 Version Control Unique User Downloads Download Rankings  
This week:1
All time:5,037
This week:158Up