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
382 Stars 106 Forks MIT License 55 Commits 6 Opened issues

Description

Export data to Excel. PHP XLSX generator

Services available

!
?

Need anything else?

Contributors list

# 66,580
PHP
xlsxwri...
xlsx
43 commits
# 338,295
HTML
PHP
xlsxwri...
xlsx
3 commits
# 163,111
HTML
romhack...
ups
PHP
2 commits
# 420,622
ical
PHP
Java
xlsxwri...
1 commit
# 408,474
PHP
Shell
phalcon
xlsxwri...
1 commit

SimpleXLSXGen

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

Sergey Shuchkin [email protected] 2020-2021

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 = SimpleXLSXGen::fromArray( $books );
$xlsx->saveAs('books.xlsx'); // or downloadAs('books.xlsx') or $xlsx_content = (string) $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],
    ['Percent', '12%'],
    ['Datetime', '2020-05-20 02:38:00'],
    ['Date','2020-05-20'],
    ['Time','02:38:00'],
    ['Datetime PHP', new DateTime('2021-02-06 21:07:00')],
    ['String', 'Long UTF-8 String in autoresized column'],
    ['Hyperlink', 'https://github.com/shuchkin/simplexlsxgen'],
    ['Hyperlink + Anchor', 'SimpleXLSXGen'],
    ['RAW string', "\0".'2020-10-04 16:02:00']
];
SimpleXLSXGen::fromArray( $data )->saveAs('datatypes.xlsx');

XLSX screenshot

Formatting

$data = [
    ['Normal', '12345.67'],
    ['Bold', '12345.67'],
    ['Italic', '12345.67'],
    ['Underline', '12345.67'],
    ['Strike', '12345.67'],
    ['Bold + Italic', '12345.67'],
    ['Hyperlink', 'https://github.com/shuchkin/simplexlsxgen'],
    ['Italic + Hyperlink + Anchor', 'SimpleXLSXGen'],
    ['Left', '12345.67'],
    ['Center', '
12345.67
'], ['Right', 'Right Text'], ['Center + Bold', '
Name
'] ]; SimpleXLSXGen::fromArray( $data ) ->setDefaultFont( 'Courier New' ) ->setDefaultFontSize( 14 ) ->saveAs('styles_and_tags.xlsx');

XLSX screenshot

More examples

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

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

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

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

Debug

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

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

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.