Need help with simplexlsxgen?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

shuchkin
189 Stars 51 Forks MIT License 31 Commits 2 Opened issues

Description

Export data to Excel. PHP XLSX generator

Services available

!
?

Need anything else?

Contributors list

# 87,622
PHP
xlsxwri...
xlsx
20 commits
# 397,607
TypeScr...
HTML
xlsxwri...
xlsx
3 commits
# 516,009
ical
PHP
JavaScr...
xlsxwri...
1 commit
# 444,723
PHP
Shell
phalcon
xlsxwri...
1 commit

SimpleXLSXGen class 0.9.23 (Official)

Export data to Excel XLSX file. PHP XLSX generator. No external tools and libraries.
(!) XLSX reader here.

Sergey Shuchkin [email protected] 2020

Hey, bro, please ★ the package for my 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 = SimpleXLSXGen::fromArray( $books );
$xlsx->saveAs('books.xlsx'); // or downloadAs('books.xlsx')

XLSX screenshot

Installation

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

This will install the latest supported version:

bash
$ composer require shuchkin/simplexlsxgen
or download class here

Examples

Data types

$data = [
    ['Integer', 123],
    ['Float', 12.35],
    ['Procent', '12%'],
    ['Datetime', '2020-05-20 02:38:00'],
    ['Date','2020-05-20'],
    ['Time','02:38:00'],
    ['String', 'Long UTF-8 String in autoresized column'],
    ['Disable Type Detection', "\0".'2020-10-04 16:02:00']
];
SimpleXLSXGen::fromArray( $data )->saveAs('datatypes.xlsx');

XLSX screenshot

Fluid examples

SimpleXLSXGen::fromArray( $books )->downloadAs('table.xlsx'); // output to browser for download
SimpleXLSXGen::fromArray( $books )->addSheet( $books2 )->download(); // multiple sheets
(new SimpleXLSXGen)->addSheet( $books, 'Modern style')->save();

Old school, multiple sheets

$xlsx = new SimpleXLSXGen();
$xlsx->addSheet( $books, 'Catalog 2021' );
$xlsx->addSheet( $books2, 'Stephen King catalog');
$xlsx->downloadAs('books_2021.xlsx');

Debug

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

$data = [ ['Debug', 123] ] SimpleXLSXGen::fromArray( $data )->saveAs('debug.xlsx');

History

v0.9.23 (2021-01-25) Fix local floats in XML
v0.9.22 (2020-11-04) Added multiple sheets support, thx Savino59, class ready for extend now
v0.9.21 (2020-10-17) Updated images
v0.9.20 (2020-10-04) Disable type detection if string started with chr(0)
v0.9.19 (2020-08-23) Numbers like SKU right aligned now
v0.9.18 (2020-08-22) Fixed fast shared strings index
v0.9.17 (2020-08-21) Fixed real numbers in 123.45 format detection, fast shared strings index (thx fredriksundin)
v0.9.16 (2020-07-29) Fixed time detection in HH:MM:SS format
v0.9.15 (2020-07-14) escape of shared strings for special chars in cells #1
v0.9.14 (2020-05-31) fixed num2name A-Z,AA-AZ column names, thx Ertan Yusufoglu
v0.9.13 (2020-05-21) if string more 160 chars, save as inlineStr
v0.9.12 (2020-05-21) readme fixed
v0.9.11 (2020-05-21) removed XML unimportant attributes
v0.9.10 (2020-05-20) initial release

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.