simplexlsxgen
Unknown
Export data to Excel XLSX file. PHP XLSX generator. No external tools and libraries.
Sergey Shuchkin [email protected] 2020-2024
Hey, bro, please ★ the package for my motivation :) and donate for more motivation!
$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 = ShuchkinSimpleXLSXGen::fromArray( $books );
$xlsx->saveAs('books.xlsx'); // or downloadAs('books.xlsx') or $xlsx_content = (string) $xlsx
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
Use UTF-8 encoded strings.
$data = [
['Integer', 123],
['Float', 12.35],
['Percent', '12%'],
['Currency $', '$500.67'],
['Currency €', '200 €'],
['Currency ₽', '1200.30 ₽'],
['Currency (other)', ''],
['Currency Float (other)', ''],
['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', 'Very long UTF-8 string in autoresized column'],
['Formula', 'SUM(B1:B2) '],
['Hyperlink', 'https://github.com/shuchkin/simplexlsxgen'],
['Hyperlink + Anchor', 'SimpleXLSXGen'],
['Internal link', 'Go to second page'],
['RAW string', " " . '2020-10-04 16:02:00'],
['Formatted RAW string', '2024-07-28 16:02:00 '],
];
SimpleXLSXGen::fromArray($data)->saveAs('datatypes.xlsx');
$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'],
['Green', ''],
['Bold Red Text', ''],
['Size 32 Font', ''],
['Blue Text and Yellow Fill', ''],
['Border color', ''],
['Border style ',''],
['Border sides', ''],
['Left', '12345.67 '],
['Center', '12345.67 '],
['Right', 'Right Text '],
['Center + Bold', 'Name '],
['Row height', ''],
['Top', ''],
['Middle + Center', ''],
['Bottom + Right', ''],
['MERGE CELLS MERGE CELLS MERGE CELLS MERGE CELLS MERGE CELLS ', null],
['Word wrap ', "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book "],
['Linebreaks', "Line 1nLine 2nLine 3"]
];
SimpleXLSXGen::fromArray($data)
->setDefaultFont('Courier New')
->setDefaultFontSize(14)
->setColWidth(1, 35)
->mergeCells('A20:B20')
->saveAs('styles_and_tags.xlsx');
Prefix #0 cell value (use double quotes) or use ::raw() method, or tag