PHP_XLSXWriter
PHP_XLSXWriter 0.39
Cette bibliothèque est conçue pour être légère et avoir une utilisation minimale de la mémoire.
Il est conçu pour générer une feuille de calcul compatible Excel au format (Office 2007+) xlsx, avec uniquement les fonctionnalités de base prises en charge :
Ne manquez plus jamais de mémoire avec PHPExcel.
Exemple simple de PHP CLI :
$ data = array (
array ( ' year ' , ' month ' , ' amount ' ),
array ( ' 2003 ' , ' 1 ' , ' 220 ' ),
array ( ' 2003 ' , ' 2 ' , ' 153.5 ' ),
);
$ writer = new XLSXWriter ();
$ writer -> writeSheet ( $ data );
$ writer -> writeToFile ( ' output.xlsx ' );
Formats de cellules simples/avancés :
$ header = array (
' created ' => ' date ' ,
' product_id ' => ' integer ' ,
' quantity ' => ' #,##0 ' ,
' amount ' => ' price ' ,
' description ' => ' string ' ,
' tax ' => ' [$$-1009]#,##0.00;[RED]-[$$-1009]#,##0.00 ' ,
);
$ data = array (
array ( ' 2015-01-01 ' , 873 , 1 , ' 44.00 ' , ' misc ' , ' =D2*0.05 ' ),
array ( ' 2015-01-12 ' , 324 , 2 , ' 88.00 ' , ' none ' , ' =D3*0.05 ' ),
);
$ writer = new XLSXWriter ();
$ writer -> writeSheetHeader ( ' Sheet1 ' , $ header );
foreach ( $ data as $ row )
$ writer -> writeSheetRow ( ' Sheet1 ' , $ row );
$ writer -> writeToFile ( ' example.xlsx ' );
50 000 lignes : (1,4 s, 0 Mo d'utilisation de la mémoire)
include_once ( " xlsxwriter.class.php " );
$ writer = new XLSXWriter ();
$ writer -> writeSheetHeader ( ' Sheet1 ' , array ( ' c1 ' => ' integer ' , ' c2 ' => ' integer ' , ' c3 ' => ' integer ' , ' c4 ' => ' integer ' ) );
for ( $ i = 0 ; $ i < 50000 ; $ i ++)
{
$ writer -> writeSheetRow ( ' Sheet1 ' , array ( $ i , $ i + 1 , $ i + 2 , $ i + 3 ) );
}
$ writer -> writeToFile ( ' huge.xlsx ' );
echo ' # ' . floor (( memory_get_peak_usage ())/ 1024 / 1024 ). " MB " . "n" ;
lignes | temps | mémoire |
---|---|---|
50000 | 1,4 s | 0 Mo |
100000 | 2,7 s | 0 Mo |
150000 | 4,1 s | 0 Mo |
200 000 | 5,7 s | 0 Mo |
250000 | 7.0s | 0 Mo |
Les formats de cellule simples correspondent à des formats de cellule plus avancés
formats simples | formater le code |
---|---|
chaîne | @ |
entier | 0 |
date | AAAA-MM-JJ |
dateheure | AAAA-MM-JJ HH:MM:SS |
temps | HH:MM:SS |
prix | #,##0.00 |
dollar | [$$-1009]#,##0.00;[ROUGE]-[$$-1009]#,##0.00 |
euro | #,##0.00 [$€-407];[ROUGE]-#,##0.00 [$€-407] |
Les styles de cellules de base sont disponibles depuis la version 0.30
style | valeurs autorisées |
---|---|
fonte | Arial, Times New Roman, Courier New, Comic Sans MS |
taille de police | 8,9,10,11,12... |
style de police | gras, italique, souligné, barré ou multiple, c'est-à-dire : "gras, italique" |
frontière | gauche, droite, haut, bas ou plusieurs, c'est-à-dire : "haut, gauche" |
style bordure | fin, moyen, épais, dashDot, dashDotDot, pointillé, pointillé, double, cheveux, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot |
couleur de la bordure | #RRGGBB, soit : #ff99cc ou #f9c |
couleur | #RRGGBB, soit : #ff99cc ou #f9c |
remplir | #RRGGBB, c'est à dire : #eeffee ou #efe |
haligner | général, gauche, droite, justifier, centre |
valider | en bas, au centre, distribué |