PHP_XLSXWriter
PHP_XLSXWriter 0.39
تم تصميم هذه المكتبة لتكون خفيفة الوزن، ولها الحد الأدنى من استخدام الذاكرة.
وهو مصمم لإخراج جدول بيانات متوافق مع Excel بتنسيق (Office 2007+) xlsx، مع دعم الميزات الأساسية فقط:
لا تنفد الذاكرة مطلقًا مع 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.4 ثانية، استخدام ذاكرة 0 ميجابايت)
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 ثانية | 0 ميجابايت |
100000 | 2.7 ثانية | 0 ميجابايت |
150000 | 4.1 ثانية | 0 ميجابايت |
200000 | 5.7 ثانية | 0 ميجابايت |
250000 | 7.0 ثانية | 0 ميجابايت |
يتم تعيين تنسيقات الخلايا البسيطة إلى تنسيقات الخلايا الأكثر تقدمًا
تنسيقات بسيطة | رمز التنسيق |
---|---|
خيط | @ |
عدد صحيح | 0 |
تاريخ | السنة-الشهر-اليوم |
التاريخ والوقت | YYYY-MM-DD سمو:MM:SS |
وقت | س س: د د: س س |
سعر | #,##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، متقطع، منقط، مزدوج، شعر، متوسطDashDot، متوسطDashDotDot، متوسط، متقطع، مائلDashDot |
لون الحدود | #RRGGBB، أي: #ff99cc أو #f9c |
لون | #RRGGBB، أي: #ff99cc أو #f9c |
يملأ | #RRGGBB، أي: #eeffee أو #efe |
halign | عام، يسار، يمين، تبرير، وسط |
valign | أسفل، وسط، موزعة |