Phpexcel هي مكتبة فئة توليد مستندات MS Office Excel قوية للغاية. عندما يكون من الضروري إخراج بيانات التنسيق المعقدة نسبيًا ، يعد Phpexcel اختيارًا جيدًا. ومع ذلك ، فإن استخدامه معقد نسبيا. قم بإدراجها لتسجيلها.
نسخة الكود كما يلي:
<؟
// قم بتعيين مسار مكتبة فئة Phpexcel
set_include_path ('.'. path_separator.
"D:/ZEAL/PHP_LIBS". path_separator.
get_include_path ()) ؛
/**
* فيما يلي مثال على الاستخدام. للخطوط التي تبدأ بـ //// ، هناك طرق اختيارية مختلفة. الرجاء استخدامها وفقًا للاحتياجات الفعلية.
* افتح التعليق على الخط المقابل.
* في حالة استخدام Excel5 ، يجب ترميز الإخراج GBK.
*/
require_once 'phpexcel.php' ؛
// uncomment
//// require_once 'phpexcel/writer/excel5.php' ؛ // تستخدم للإصدارات الأقل من XLS
// أو
//// requist_once 'phpexcel/writer/excel2007.php' ؛ // لتنسيق Excel-2007
// إنشاء مثيل كائن معالجة
$ objexcel = new phpexcel () ؛
// قم بإنشاء تنسيق ملف لكتابة مثيل الكائن ، Uncomment
//// $ objWriter = new phpexcel_writer_excel5 ($ objexcel) ؛ // تستخدم لتنسيقات الإصدار الأخرى
// أو
//// $ objWriter = new phpexcel_writer_excel2007 ($ objexcel) ؛ // لتنسيق 2007
// $ objWriter-> Setoffice2003Compatibility (true) ؛
// ***************************************************************
// تعيين خصائص المستند الأساسية
$ objprops = $ objexcel-> getProperties () ؛
$ objprops-> setCreator ("Zeal li") ؛
$ objprops-> setLastModifiedBy ("zeal li") ؛
$ OBJPROPS-> SETITLE ("وثيقة اختبار Office XLS") ؛
$ objprops-> setSubject ("وثيقة اختبار Office XLS ، العرض التوضيحي") ؛
$ objprops-> setDescription ("وثيقة اختبار ، التي تم إنشاؤها بواسطة phpexcel.") ؛
$ objprops-> setKeywords ("Office Excel phpexcel") ؛
$ objprops-> setCategory ("test") ؛
// ***************************************************************
// قم بتعيين فهرس الورقة الحالية لعمليات المحتوى اللاحقة.
// عمومًا ، هناك حاجة إلى المكالمة فقط عند استخدام أوراق متعددة.
// بشكل افتراضي ، ستقوم Phpexcel تلقائيًا بإنشاء الورقة الأولى وتعيين SeindIndex = 0
$ objexcel-> setActivesheetIndex (0) ؛
$ objactsheet = $ objexcel-> getActivesheet () ؛
// اضبط اسم الورقة النشطة الحالية
$ objactsheet-> Settitle ('SPERENT') ؛
// ***************************************************************
// تعيين محتوى الخلية
//
// يحدد Phpexcel تلقائيًا نوع محتوى الخلية استنادًا إلى المحتوى الوارد
$ objactsheet-> setCellValue ('a1' ، 'string content') ؛ // محتوى السلسلة
$ objactsheet-> setCellValue ('A2' ، 26) ؛ // قيمة
$ objactsheet-> setCellValue ('a3' ، true) ؛ // قيمة منطقية
$ objactsheet-> setCellValue ('a4' ، '= sum (a2: a2)') ؛ // الصيغة
// توضيحية حدد نوع المحتوى
$ objactsheet-> setCellValueExplicit ('A5' ، '847475847857487584' ،
phpexcel_cell_datatype :: type_string) ؛
// دمج الخلايا
$ objactsheet-> mergecells ('b1: c22') ؛
// خلايا منفصلة
$ objactsheet-> unmergecells ('b1: c22') ؛
// ***************************************************************
// تعيين نمط الخلية
//
// ضبط العرض
$ objactsheet-> getColumnDimension ('b')-> setautosize (true) ؛
$ objactsheet-> getColumnDimension ('a')-> setWidth (30) ؛
$ objstylea5 = $ objactsheet-> getStyle ('a5') ؛
// قم بتعيين تنسيق الأرقام لمحتوى الخلية.
//
// إذا تم استخدام phpexcel_writer_excel5 لإنشاء المحتوى ،
// لاحظ هنا أن متغير const محدد في فئة phpexcel_style_numberformat
// من بين طرق التنسيق المخصصة المختلفة ، يمكن استخدام أنواع أخرى بشكل طبيعي ، ولكن عند setFormatCode
// عندما يكون ذلك format_number ، لا يتم تعيين التأثير الفعلي على "0". يحتاج
// تعديل طريقة GETXF ($ نمط) في كود المصدر لفئة phpexcel_writer_excel5_format ،
// أضف واحدة قبل ($ this-> _ biff_version == 0x0500) {(بالقرب من السطر 363)
// رمز السطر:
// if ($ ifmt === '0') $ ifmt = 1 ؛
//
// اضبط التنسيق على phpexcel_style_numberformat :: format_number لتجنب بعض الأرقام الكبيرة
// يتم عرضه باستخدام طريقة العد العلمي. بالتزامن مع طريقة setautosize التالية ، يمكن إجراء محتوى كل سطر
// يتم عرض جميعها وفقًا للمحتوى الأصلي.
$ objstylea5
-> getNumberformat ()
-> setFormatCode (phpexcel_style_numberformat :: format_number) ؛
// تعيين الخط
$ objfonta5 = $ objstylea5-> getFont () ؛
$ objfonta5-> setName ('Courier New') ؛
$ objfonta5-> setSize (10) ؛
$ objfonta5-> setBold (true) ؛
$ objfonta5-> setUnderline (phpexcel_style_font :: underline_single) ؛
$ objfonta5-> getColor ()-> setArgb ('ff9999999') ؛
// تعيين المحاذاة
$ objaligna5 = $ objstylea5-> getAlignment () ؛
$ objaligna5-> sethorizontal (phpexcel_style_alignment :: farizontal_right) ؛
$ objaligna5-> setvertical (phpexcel_style_alignment :: vertical_center) ؛
// تعيين الحدود
$ OBJBORDERA5 = $ OBJSTYLEA5-> getBorders () ؛
$ objBordera5-> getTop ()-> setBordersTyle (phpexcel_style_border :: border_thin) ؛
$ objBordera5-> getTop ()-> getColor ()-> setArgb ('ffff0000') ؛ // لون
$ objBordera5-> getBottom ()-> setBordersTyle (phpexcel_style_border :: border_thin) ؛
$ objBordera5-> getleft ()-> setBordersTyle (phpexcel_style_border :: border_thin) ؛
$ OBJBORDERA5-> getRight ()-> setBordersTyle (phpexcel_style_border :: border_thin) ؛
// تعيين لون التعبئة
$ objfilla5 = $ objstylea5-> getFill () ؛
$ objfilla5-> setFillType (phpexcel_style_fill :: fill_solid) ؛
$ objfilla5-> getStartColor ()-> setArgb ('ffeeeee') ؛
// نسخ معلومات النمط من الخلية المحددة.
$ objactsheet-> duplicatestyle ($ objstylea5 ، 'b1: c22') ؛
// ***************************************************************
// أضف الصور
$ objdrawing = new phpexcel_worksheet_drawing () ؛
$ objdrawing-> setName ('zealimg') ؛
$ objdrawing-> setDescription ("الصورة التي تم إدراجها بواسطة الحماس") ؛
$ objdrawing-> setPath ('./ zeali.net.logo.gif') ؛
$ objdrawing-> setheight (36) ؛
$ objdrawing-> setCoordinates ('c23') ؛
$ objdrawing-> setoffsetx (10) ؛
$ objdrawing-> setrotation (15) ؛
$ objdrawing-> getShadow ()-> setVisible (true) ؛
$ objdrawing-> getShadow ()-> setDirection (36) ؛
$ objdrawing-> setworksheet ($ objactsheet) ؛
// إضافة ورقة عمل جديدة
$ objexcel-> createshet () ؛
$ objexcel-> getSheet (1)-> Settitle ('Test 2') ؛
// حماية الخلية
$ objexcel-> getSheet (1)-> getProtection ()-> setsheet (true) ؛
$ objexcel-> getSheet (1)-> protectCells ('A1: C22' ، 'phpexcel') ؛
// ***************************************************************
// محتوى الإخراج
//
$ outputFilename = "output.xls" ؛
// للملف
//// $ objWriter-> حفظ ($ outputFilename) ؛
//أو
// إلى المتصفح
/// header ("content-type: application/force-download") ؛
/// header ("content-type: application/actet-stream") ؛
//// header ("content-type: application/download") ؛
////header('content-disposition: inline؛filename="'. $OutputFilename. '"') ؛
/// header ("المحتوى-ترانسفر-تنسيق: ثنائي") ؛
//// Header ("Expirs: Mon ، 26 Jul 1997 05:00:00 GMT") ؛
//// header ("Last-modified:". gmdate ("d ، d myh: i: s"). "gmt") ؛
/// header ("Cache-Control: يجب إعادة تقييم ، post-check = 0 ، pre-check = 0") ؛
////header ("pragma: no cache") ؛
//// $ objwriter-> حفظ ('php: // output') ؛
؟>