/** * The following is an example of use, for a line that begins with////is optional, open the comment for the corresponding line according to your actual needs. * If you use Excel5, the content of the output should be GBK encoded. *///require_once ' phpexcel.php '; Uncomment////require_once ' phpexcel/writer/excel5.php '; For other low version XLS//or////require_once ' phpexcel/writer/excel2007.php '; For excel-2007 format $objExcel = new Phpexcel (); Create a Processing object instance//create file format to write to the object instance, uncomment $objWriter = new Phpexcel_writer_excel5 ($objExcel); For other version formats//or////$objWriter = new phpexcel_writer_excel2007 ($objExcel); For 2007 format//$objWriter->setoffice2003compatibility (TRUE); Set document Basic Properties $objProps = $objExcel->getproperties ();//$objProps Setcreator ("Zeal Li"); $objProps->setlastmodifiedby ("Zeal Li"); $objProps->settitle ("Office XLS Test Document"); $objProps->setsubject ("Office XLS Test Document, Demo"); $objProps->setdescription ("Test document, generated by Phpexcel."); $objProps->setkeywords ("Office Excel Phpexcel"); $objProps->setcategory ("Test"); //**Sets the current sheet index for subsequent content operations. It is generally only necessary to display a call when multiple sheet are used. By default, Phpexcel automatically creates the first sheet is set sheetindex=0 $objExcel->setactivesheetindex (0); $objActSheet = $objExcel Getactivesheet (); Sets the name of the currently active sheet $objActSheet->settitle (' Test sheet '); Set cell contents////by Phpexcel automatically determine the cell content type based on incoming content $objActSheet->setcellvalue (' A1 ', ' string content '); String content $objActSheet->setcellvalue (' A2 ', 26); Numeric $objActSheet->setcellvalue (' A3 ', true); Boolean value $objActSheet->setcellvalue (' A4 ', ' =sum (A2:A2) '); Formula//explicitly specifies the content type $objActSheet->setcellvalueexplicit (' A5 ', ' 847475847857487584 ', P hpexcel_cell_datatype::type_string); Merge cells $objActSheet->mergecells (' b1:c22 '); Separate cells $objActSheet->unmergecells (' b1:c22 '); Set cell style///Set width $objActSheet->getcolumndimension (' B ') Setautosize (TRUE); $objActSheet->getcolumndimension (' A ')->setwidth (30); $oBjStyleA5 = $objActSheet->getstyle (' A5 '); Sets the number format for the contents of the cell. If you use Phpexcel_writer_excel5 to generate content,//You need to note that in the Phpexcel_style_numberformat class, the const variable definition//Various custom formatting methods, Other types can be used normally, but when setformatcode//is format_number, the actual effect is not formatted as "0". Require//Modify the GETXF ($style) method in the source code of the Phpexcel_writer_excel5_format class, and//add one in front of the IF ($this->_biff_version = = 0x0500) {(Near line No. 363) Line code://if ($ifmt = = = ' 0 ') $ifmt = 1; Format to Phpexcel_style_numberformat::format_number, avoid some large numbers//are used scientific notation display, with the following Setautosize method can let each line of content// Are all displayed according to the original content. $objStyleA 5->getnumberformat ()->setformatcode (Phpexcel_style_numberformat::format_number); Set Font $objFontA 5 = $objStyleA 5->getfont (); $objFontA 5->setname (' Courier New '); $objFontA 5->setsize (10); $objFontA 5->setbold (TRUE); $objFontA 5->setunderline (Phpexcel_style_font::underline_single); $objFontA 5->getcolor ()->setargb (' FF999999 '); Set Alignment $objAlignA 5 = $objStyleA 5->getalignment (); $objAlignA 5->sethorizontal (Phpexcel_stYle_alignment::horizontal_right); $objAlignA 5->setvertical (Phpexcel_style_alignment::vertical_center); Set Border $objBorderA 5 = $objStyleA 5->getborders (); $objBorderA 5->gettop ()->setborderstyle (Phpexcel_style_border::border_thin); $objBorderA 5->gettop ()->getcolor ()->setargb (' FFFF0000 '); Color $objBorderA 5->getbottom ()->setborderstyle (Phpexcel_style_border::border_thin); $objBorderA 5->getleft ()->setborderstyle (Phpexcel_style_border::border_thin); $objBorderA 5->getright ()->setborderstyle (Phpexcel_style_border::border_thin); Set the fill color $objFillA 5 = $objStyleA 5->getfill (); $objFillA 5->setfilltype (phpexcel_style_fill::fill_solid); $objFillA 5->getstartcolor ()->setargb (' ffeeeeee ');
$objFillA 5->getstartcolor ()->setrgb (' ffeeeeee ');
Copies the style information from the specified cell. $objActSheet->duplicatestyle ($objStyleA 5, ' b1:c22 '); Add Picture $objDrawing = new phpexcel_worksheet_drawing (); $objDrawing->setname (' zealimg '); $objDrawing->setdescription (' Image inserted by Zeal '); $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); Add a new worksheet $objExcel->createsheet (); $objExcel->getsheet (1)->settitle (' Test 2 '); Protection cell $objExcel->getsheet (1)->getprotection ()->setsheet (true); $objExcel->getsheet (1)->protectcells (' A1:c22 ', ' phpexcel '); Output content//$outputFileName = $title. ". xls"; Header ("Content-type:application/force-download"); Header ("Content-type:application/octet-stream "); Header ("Content-type:application/download"); Header (' Content-disposition:attachment;filename= '. $outputFileName. ‘"‘); To file////header (' Content-disposition:inline;filename= '. $outputFileName. '); to the browser header ("Content-transfer-encoding:binary"); Header ("Expires:mon, Jul 1997 05:00:00 GMT"); Header ("last-modified:".) Gmdate ("D, D M Y h:i:s"). "GMT"); Header ("Cache-control:must-revalidate, Post-check=0, pre-check=0"); Header ("Pragma:no-cache"); $objWriter->save (' php://output ');