1
0
mirror of https://github.com/shuchkin/simplexlsxgen.git synced 2023-08-10 21:12:59 +03:00

15 Commits

Author SHA1 Message Date
c55d77c63e 1.1.12 2022-03-15 21:49:14 +06:00
c3d10db967 1.1.12 2022-03-15 21:47:33 +06:00
1c206d06bc 1.1.11 2022-02-12 03:25:59 +06:00
f0cbc32af9 1.1.11 2022-02-12 03:04:46 +06:00
121f1222c2 1.1.10 2022-02-05 18:32:10 +06:00
40eb704eb2 1.0.23 2022-02-01 02:50:32 +06:00
4005e8cbd1 Merge pull request #48 from appel/patch-1
added a ; in the Debug section.
2021-11-28 20:43:00 +06:00
9d82a43fe6 added a ; in the Debug section. 2021-11-28 08:48:15 -05:00
9a555eef9b 1.0.22 2021-10-29 03:37:04 +06:00
79ffbb5e30 1.0.21 2021-09-20 00:51:25 +06:00
868cf8edc0 1.0.21 2021-09-03 22:12:48 +06:00
7f5c584772 1.0.20 2021-07-29 12:16:10 +06:00
5b58103e3b 1.0.19 2021-07-28 22:01:02 +06:00
6d49a90fe7 1.0.18 2021-07-28 05:06:23 +06:00
c8a94d552a 1.0.17 2021-07-28 01:45:25 +06:00
7 changed files with 684 additions and 624 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
vendor* /vendor*
/books.fw.png /books.fw.png
/datatypes.fw.png /datatypes.fw.png
/styles.fw.png /styles.fw.png
/.gitignore

View File

@ -1,15 +1,43 @@
# Changelog # Changelog
## 1.0.16 (2021-07-01) # 1.1.12 (2022-03-15)
* Added $xlsx->mergeCells('A1:C1')
## 1.1.11 (2022-02-05)
* sheet name maximum length is 31 chars, mb_substr used now
* license fixed
## 1.1.10 (2022-02-05)
* namespace added, use Shuchkin\SimpleXLSXGen
## 1.0.23 (2022-02-01)
* fixed dates if year < 1900 and time only cells, thx [fapth](https://github.com/shuchkin/simplexlsxgen/issues/51)
## 1.0.22 (2021-10-29)
* Escape \x00 and \x0B (vertical tab)
## 1.0.21 (2021-09-03)
* Fixed saveAs / downloadAs / etc methods more than once
## 1.0.20 (2021-07-29)
* Fixed sheet names duplicates (Page, Page (1), Page (2)...)
## 1.0.19 (2021-07-28)
* Fixed sheet names duplicates
## 1.0.18 (2021-07-28)
* Fixed email regex
## 1.0.17 (2021-07-28)
* Fixed &quot; and &amp; in sheets names
## 1.0.16 (2021-07-01)
* Fixed &quot;&amp;&quot; in hyperlinks * Fixed &quot;&amp;&quot; in hyperlinks
## 1.0.15 (2021-06-22) ## 1.0.15 (2021-06-22)
* Fixed *mailto* hyperlinks detection * Fixed *mailto* hyperlinks detection
## 1.0.14 (2021-06-08) ## 1.0.14 (2021-06-08)
* Added *mailto* hyperlinks support (thx Howard Martin) * Added *mailto* hyperlinks support (thx Howard Martin)
```php ```php
SimpleXLSXGen::fromArray([ SimpleXLSXGen::fromArray([
@ -17,86 +45,65 @@ SimpleXLSXGen::fromArray([
])->saveAs('test.xlsx'); ])->saveAs('test.xlsx');
``` ```
## 1.0.13 (2021-05-29) ## 1.0.13 (2021-05-29)
* Fixed hyperlinks in several sheets * Fixed hyperlinks in several sheets
* Added [Opencollective donation link](https://opencollective.com/simplexlsx) * Added [Opencollective donation link](https://opencollective.com/simplexlsx)
## 1.0.12 (2021-05-19) ## 1.0.12 (2021-05-19)
* Fixed hyperlink regex * Fixed hyperlink regex
## 1.0.11 (2021-05-14) ## 1.0.11 (2021-05-14)
* Fixed 0.00% format, thx [marcrobledo](https://github.com/shuchkin/simplexlsxgen/pull/34), more examples in README.md * Fixed 0.00% format, thx [marcrobledo](https://github.com/shuchkin/simplexlsxgen/pull/34), more examples in README.md
## 1.0.10 (2021-05-03) ## 1.0.10 (2021-05-03)
Stable release Stable release
* Added hyperlinks and minimal formatting * Added hyperlinks and minimal formatting
## 0.9.25 (2021-02-26) ## 0.9.25 (2021-02-26)
* Added PHP Datetime object values in a cells * Added PHP Datetime object values in a cells
## 0.9.24 (2021-02-26) ## 0.9.24 (2021-02-26)
* Percent support * Percent support
## 0.9.23 (2021-01-25) ## 0.9.23 (2021-01-25)
* Fix local floats in XML * Fix local floats in XML
## 0.9.22 (2020-11-04) ## 0.9.22 (2020-11-04)
* Added multiple sheets support, thx [Savino59](https://github.com/Savino59), class ready for extend now * Added multiple sheets support, thx [Savino59](https://github.com/Savino59), class ready for extend now
## 0.9.21 (2020-10-17) ## 0.9.21 (2020-10-17)
* Updated images * Updated images
## 0.9.20 (2020-10-04) ## 0.9.20 (2020-10-04)
* Disable type detection if string started with chr(0) * Disable type detection if string started with chr(0)
## 0.9.19 (2020-08-23) ## 0.9.19 (2020-08-23)
* Numbers like SKU right aligned now * Numbers like SKU right aligned now
## 0.9.18 (2020-08-22) ## 0.9.18 (2020-08-22)
* Fixed fast shared strings index * Fixed fast shared strings index
## 0.9.17 (2020-08-21) ## 0.9.17 (2020-08-21)
* Fixed real numbers in 123.45 format detection, fast shared strings index (thx fredriksundin) * Fixed real numbers in 123.45 format detection, fast shared strings index (thx fredriksundin)
## 0.9.16 (2020-07-29) ## 0.9.16 (2020-07-29)
* Fixed time detection in HH:MM:SS format * Fixed time detection in HH:MM:SS format
## 0.9.15 (2020-07-14) ## 0.9.15 (2020-07-14)
* Escape of shared strings for special chars in cells [#1](https://github.com/shuchkin/simplexlsxgen/issues/1) * Escape of shared strings for special chars in cells [#1](https://github.com/shuchkin/simplexlsxgen/issues/1)
## 0.9.14 (2020-05-31) ## 0.9.14 (2020-05-31)
* Fixed num2name A-Z,AA-AZ column names, thx Ertan Yusufoglu * Fixed num2name A-Z,AA-AZ column names, thx Ertan Yusufoglu
## 0.9.13 (2020-05-21) ## 0.9.13 (2020-05-21)
* If string more 160 chars, save as inlineStr * If string more 160 chars, save as inlineStr
## 0.9.12 (2020-05-21) ## 0.9.12 (2020-05-21)
* Readme fixed * Readme fixed
## 0.9.11 (2020-05-21) ## 0.9.11 (2020-05-21)
* Removed XML unimportant attributes * Removed XML unimportant attributes
## 0.9.10 (2020-05-20) ## 0.9.10 (2020-05-20)
* Initial release * Initial release

View File

@ -1,8 +1,10 @@
# SimpleXLSXGen # SimpleXLSXGen
[<img src="https://img.shields.io/github/license/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/blob/master/license.md) [<img src="https://img.shields.io/github/stars/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/stargazers) [<img src="https://img.shields.io/github/forks/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/network) [<img src="https://img.shields.io/github/issues/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/issues) [<img src="https://img.shields.io/github/license/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/blob/master/license.md) [<img src="https://img.shields.io/github/stars/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/stargazers) [<img src="https://img.shields.io/github/forks/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/network) [<img src="https://img.shields.io/github/issues/shuchkin/simplexlsxgen" />](https://github.com/shuchkin/simplexlsxgen/issues)
Export data to Excel XLSX file. PHP XLSX generator. No external tools and libraries.<br/> Export data to Excel XLSX file. PHP XLSX generator. No external tools and libraries.
(!) XLSX reader [here](https://github.com/shuchkin/simplexlsx). - XLSX reader [here](https://github.com/shuchkin/simplexlsx)
- XLS reader [here](https://github.com/shuchkin/simplexls)
- CSV reader/writer [here](https://github.com/shuchkin/simplecsv)
**Sergey Shuchkin** <sergey.shuchkin@gmail.com> 2020-2021<br/> **Sergey Shuchkin** <sergey.shuchkin@gmail.com> 2020-2021<br/>
@ -15,7 +17,7 @@ $books = [
[618260307, 'The Hobbit', 'J. R. R. Tolkien', 'Houghton Mifflin', 'USA'], [618260307, 'The Hobbit', 'J. R. R. Tolkien', 'Houghton Mifflin', 'USA'],
[908606664, 'Slinky Malinki', 'Lynley Dodd', 'Mallinson Rendel', 'NZ'] [908606664, 'Slinky Malinki', 'Lynley Dodd', 'Mallinson Rendel', 'NZ']
]; ];
$xlsx = SimpleXLSXGen::fromArray( $books ); $xlsx = Shuchkin\SimpleXLSXGen::fromArray( $books );
$xlsx->saveAs('books.xlsx'); // or downloadAs('books.xlsx') or $xlsx_content = (string) $xlsx $xlsx->saveAs('books.xlsx'); // or downloadAs('books.xlsx') or $xlsx_content = (string) $xlsx
``` ```
![XLSX screenshot](books.png) ![XLSX screenshot](books.png)
@ -46,7 +48,7 @@ $data = [
['Hyperlink + Anchor', '<a href="https://github.com/shuchkin/simplexlsxgen">SimpleXLSXGen</a>'], ['Hyperlink + Anchor', '<a href="https://github.com/shuchkin/simplexlsxgen">SimpleXLSXGen</a>'],
['RAW string', "\0".'2020-10-04 16:02:00'] ['RAW string', "\0".'2020-10-04 16:02:00']
]; ];
SimpleXLSXGen::fromArray( $data )->saveAs('datatypes.xlsx'); Shuchkin\SimpleXLSXGen::fromArray( $data )->saveAs('datatypes.xlsx');
``` ```
![XLSX screenshot](datatypes.png) ![XLSX screenshot](datatypes.png)
@ -64,11 +66,13 @@ $data = [
['Left', '<left>12345.67</left>'], ['Left', '<left>12345.67</left>'],
['Center', '<center>12345.67</center>'], ['Center', '<center>12345.67</center>'],
['Right', '<right>Right Text</right>'], ['Right', '<right>Right Text</right>'],
['Center + Bold', '<center><b>Name</b></center>'] ['Center + Bold', '<center><b>Name</b></center>'],
['<center>MERGE CELLS</center>']
]; ];
SimpleXLSXGen::fromArray( $data ) Shuchkin\SimpleXLSXGen::fromArray( $data )
->setDefaultFont( 'Courier New' ) ->setDefaultFont( 'Courier New' )
->setDefaultFontSize( 14 ) ->setDefaultFontSize( 14 )
->mergeCells('A13:B13')
->saveAs('styles_and_tags.xlsx'); ->saveAs('styles_and_tags.xlsx');
``` ```
![XLSX screenshot](styles.png) ![XLSX screenshot](styles.png)
@ -76,15 +80,16 @@ SimpleXLSXGen::fromArray( $data )
### More examples ### More examples
```php ```php
// Fluid interface, output to browser for download // Fluid interface, output to browser for download
SimpleXLSXGen::fromArray( $books )->downloadAs('table.xlsx'); Shuchkin\SimpleXLSXGen::fromArray( $books )->downloadAs('table.xlsx');
// Fluid interface, multiple sheets // Fluid interface, multiple sheets
SimpleXLSXGen::fromArray( $books )->addSheet( $books2 )->download(); Shuchkin\SimpleXLSXGen::fromArray( $books )->addSheet( $books2 )->download();
// Alternative interface, sheet name, get xlsx content // Alternative interface, sheet name, get xlsx content
$xlsx_cache = (string) (new SimpleXLSXGen)->addSheet( $books, 'Modern style'); $xlsx_cache = (string) (new Shuchkin\SimpleXLSXGen)->addSheet( $books, 'Modern style');
// Classic interface // Classic interface
use Shuchkin\SimpleXLSXGen
$xlsx = new SimpleXLSXGen(); $xlsx = new SimpleXLSXGen();
$xlsx->addSheet( $books, 'Catalog 2021' ); $xlsx->addSheet( $books, 'Catalog 2021' );
$xlsx->addSheet( $books2, 'Stephen King catalog'); $xlsx->addSheet( $books2, 'Stephen King catalog');
@ -99,6 +104,7 @@ ini_set('display_errors', 1 );
$data = [ $data = [
['Debug', 123] ['Debug', 123]
] ];
SimpleXLSXGen::fromArray( $data )->saveAs('debug.xlsx');
``` Shuchkin\SimpleXLSXGen::fromArray( $data )->saveAs('debug.xlsx');
```

View File

@ -17,6 +17,7 @@
] ]
}, },
"require": { "require": {
"php": ">=5.4",
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-zlib": "*" "ext-zlib": "*"
} }

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2014 Lukas Martinelli Copyright (c) 2020-2022 Sergey Shuchkin sergey.shuchkin@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 57 KiB