PHP_XLSXWriter
PHP_XLSXWriter 0.39
該庫被設計為輕量級的,並且具有最少的記憶體使用量。
它旨在以 (Office 2007+) xlsx 格式輸出 Excel 相容的電子表格,僅支援基本功能:
PHPExcel 再也不會出現記憶體不足的情況。
簡單的 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 ' );
簡單/進階單元格格式:
$ 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行:(1.4s,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" ;
列 | 時間 | 記憶 |
---|---|---|
50000 | 1.4秒 | 0MB |
100000 | 2.7秒 | 0MB |
150000 | 4.1秒 | 0MB |
200000 | 5.7秒 | 0MB |
250000 | 7.0秒 | 0MB |
簡單的單元格格式對應到更高級的單元格格式
簡單的格式 | 格式代碼 |
---|---|
細繩 | @ |
整數 | 0 |
日期 | 年-月-日 |
日期時間 | 年-月-日 時:分:秒 |
時間 | 時:分:秒 |
價格 | #,##0.00 |
美元 | [$$-1009]#,##0.00;[紅色]-[$$-1009]#,##0.00 |
歐元 | #,##0.00 [$€-407];[紅色]-#,##0.00 [$€-407] |
從 0.30 版本開始就提供了基本的儲存格樣式
風格 | 允許值 |
---|---|
字體 | Arial、Times New Roman、Courier New、Comic Sans MS |
字體大小 | 8,9,10,11,12 ... |
字體樣式 | 粗體、斜體、底線、刪除線或多個即:“粗體、斜體” |
邊界 | 左、右、上、下或多個,即:“上、左” |
邊框式 | 薄、中、厚、dashDot、dashDotDot、虛線、虛線、雙、頭髮、mediumDashDot、mediumDashDotDot、mediumDashed、slantDashDot |
邊框顏色 | #RRGGBB,即:#ff99cc 或 #f9c |
顏色 | #RRGGBB,即:#ff99cc 或 #f9c |
充滿 | #RRGGBB,即:#eeffee 或 #efe |
哈利恩 | 一般、左、右、對齊、居中 |
瓦利尼 | 底部、中心、分佈 |