PHP_XLSXWriter
PHP_XLSXWriter 0.39
Esta biblioteca está diseñada para ser liviana y tener un uso mínimo de memoria.
Está diseñado para generar una hoja de cálculo compatible con Excel en formato xlsx (Office 2007+), y solo admite funciones básicas:
Nunca más te quedes sin memoria con PHPExcel.
Ejemplo 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 ' );
Formatos de celda simples/avanzados:
$ 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 ' );
50000 filas: (1,4 s, uso de memoria de 0 MB)
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" ;
filas | tiempo | memoria |
---|---|---|
50000 | 1,4s | 0 MB |
100000 | 2,7s | 0 MB |
150000 | 4.1s | 0 MB |
200000 | 5,7s | 0MB |
250000 | 7.0s | 0 MB |
Los formatos de celda simples se asignan a formatos de celda más avanzados
formatos simples | código de formato |
---|---|
cadena | @ |
entero | 0 |
fecha | AAAA-MM-DD |
fecha y hora | AAAA-MM-DD HH:MM:SS |
tiempo | HH:MM:SS |
precio | #,##0.00 |
dólar | [$$-1009]#,##0.00;[ROJO]-[$$-1009]#,##0.00 |
euro | #,##0.00 [$€-407];[ROJO]-#,##0.00 [$€-407] |
Los estilos de celda básicos están disponibles desde la versión 0.30.
estilo | valores permitidos |
---|---|
fuente | Arial, Times New Roman, Courier New, Comic Sans MS |
tamaño de fuente | 8,9,10,11,12... |
estilo de fuente | negrita, cursiva, subrayado, tachado o múltiple, es decir: "negrita, cursiva" |
borde | izquierda, derecha, arriba, abajo o múltiple, es decir: 'arriba, izquierda' |
estilo borde | fino, medio, grueso, dashDot, dashDotDot, discontinuo, punteado, doble, cabello, mediumDashDot, mediumDashDotDot, mediumDiscontinuo, slantDashDot |
color del borde | #RRGGBB, es decir: #ff99cc o #f9c |
color | #RRGGBB, es decir: #ff99cc o #f9c |
llenar | #RRGGBB, es decir: #eeffee o #efe |
alinear | general, izquierda, derecha, justificar, centrar |
vilipendiar | abajo, centro, distribuido |