Skip to content

Export data to Excel. PHP XLSX generator

License

Notifications You must be signed in to change notification settings

kmrtylmz/simplexlsxgen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleXLSXGen class 0.9.22 (Official)

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

Sergey Shuchkin sergey.shuchkin@gmail.com 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:

$ 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.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

About

Export data to Excel. PHP XLSX generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%