PHP_XLSXWriter
PHP_XLSXWriter 0.39
Perpustakaan ini dirancang agar ringan, dan memiliki penggunaan memori minimal.
Ini dirancang untuk menghasilkan spreadsheet Excel yang kompatibel dalam format xlsx (Office 2007+), dengan hanya mendukung fitur dasar:
Jangan pernah kehabisan memori dengan PHPExcel lagi.
Contoh PHP CLI sederhana:
$ 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 ' );
Format Sel Sederhana/Lanjutan:
$ 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 baris: (1,4 detik, penggunaan memori 0MB)
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" ;
baris | waktu | ingatan |
---|---|---|
50000 | 1.4 detik | 0MB |
100.000 | 2,7 detik | 0MB |
150000 | 4.1 detik | 0MB |
200000 | 5,7 detik | 0MB |
250000 | 7.0 detik | 0MB |
Format sel sederhana dipetakan ke format sel yang lebih canggih
format sederhana | kode format |
---|---|
rangkaian | @ |
bilangan bulat | 0 |
tanggal | YYYY-MM-DD |
tanggalwaktu | YYYY-MM-DD JJ:MM:SS |
waktu | JJ:MM:SS |
harga | #,##0,00 |
dolar | [$$-1009]#,##0,00;[MERAH]-[$$-1009]#,##0,00 |
euro | #,##0,00 [$€-407];[MERAH]-#,##0,00 [$€-407] |
Gaya sel dasar telah tersedia sejak versi 0.30
gaya | nilai yang diizinkan |
---|---|
font | Arial, Times New Roman, Kurir Baru, Comic Sans MS |
ukuran font | 8,9,10,11,12 ... |
gaya font | tebal, miring, garis bawah, dicoret atau banyak yaitu: 'tebal, miring' |
berbatasan | kiri, kanan, atas, bawah, atau kelipatan yaitu: 'atas, kiri' |
gaya perbatasan | tipis, sedang, tebal, dashDot, dashDotDot, putus-putus, putus-putus, ganda, rambut, mediumDashDot, mediumDashDotDot, mediumDashDot, slantDashDot |
warna batas | #RRGGBB, yaitu: #ff99cc atau #f9c |
warna | #RRGGBB, yaitu: #ff99cc atau #f9c |
mengisi | #RRGGBB, yaitu: #eeffee atau #efe |
halign | umum, kiri, kanan, ratakan, tengah |
valign | bawah, tengah, didistribusikan |