//ini_set('include_path', ini_get('include_path').';d:\www.111cn.net\htdocs\lianxi\1.7.2\classes');//设置此页面包含路径
require_once(./1.7.2/classes/phpexcel.php);
require_once(./1.7.2/classes/phpexcel/writer/excel5.php);
$objexcel = new phpexcel();
//print_r($objexcel);
$objwriter = new phpexcel_writer_excel5($objexcel);
//$objwriter = new phpexcel_writer_excel2007($objexcel); // 用于 2007 格式
//$objwriter->setoffice2003compatibility(true);
//设置文档基本属性 www.111cn.net
$objprops教程 = $objexcel->getproperties();
//print_r($objprops);
$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 );
//*************************************
//设置当前的sheet索引,用于后续的内容操作。
//一般只有在使用多个sheet的时候才需要显示调用。
//缺省情况下,phpexcel会自动创建第一个sheet被设置sheetindex=0
$objexcel->setactivesheetindex(0);
$objactsheet = $objexcel->getactivesheet();
$objactsheet = $objexcel->getactivesheet();
//设置当前活动sheet的名称
$objactsheet->settitle('测试sheet' );
//*************************************
//设置单元格内容
//
//由phpexcel根据传入内容自动判断单元格内容类型
$objactsheet ->setcellvalue('a1' , '字符串内容' ); // 字符串内容
$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 来生成内容的话,
//这里需要注意,在 phpexcel_style_numberformat 类的 const 变量定义的
//各种自定义格式化方式中,其它类型都可以正常使用,但当setformatcode
//为 format_number 的时候,实际出来的效果被没有把格式设置为0。需要
//修改 phpexcel_writer_excel5_format 类源代码中的 getxf($style) 方法,
//在 if ($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('ff999999' );
//设置对齐方式
$objaligna5 = $objstylea5 ->getalignment();
$objaligna5 ->sethorizontal(phpexcel_style_alignment::horizontal_right);
$objaligna5 ->setvertical(phpexcel_style_alignment::vertical_center);
//设置边框
$objbordera5 = $objstylea5 ->getborders();
$objbordera5 ->gettop()->setborderstyle(phpexcel_style_border::border_thin);
$objbordera5 ->gettop()->getcolor()->setargb('ffff0000' ); // color
$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('ffeeeeee' );
//从指定的单元格复制样式信息.
$objactsheet ->duplicatestyle($objstylea5 , 'b1:c22' );
//*************************************
//添加图片
$objdrawing = new phpexcel_worksheet_drawing();
$objdrawing ->setname('zealimg' );
$objdrawing ->setdescription('image inserted by zeal' );
$objdrawing ->setpath('../images/201003/1269919647975424741.jpg' );
$objdrawing ->setheight(150);
$objdrawing ->setcoordinates('c23' );
$objdrawing ->setoffsetx(10);
$objdrawing ->setrotation(15);
$objdrawing ->getshadow()->setvisible(true);
$objdrawing ->getshadow()->setdirection(36);
$objdrawing ->setworksheet($objactsheet );
//添加一个新的worksheet
$objexcel ->createsheet();
$objexcel ->getsheet(1)->settitle('测试2' );
//保护单元格
$objexcel ->getsheet(1)->getprotection()->setsheet(true);
$objexcel ->getsheet(1)->protectcells('a1:c22' , 'phpexcel' );
//*************************************
//输出内容
//
$outputfilename = output.xls ;
//到文件
$objwriter->save($outputfilename);
//or
//到浏览器
/*
header(content-type: application/force-download);
header(content-type: application/octet-stream);
header(content-type: application/download);
header('content-disposition:inline;filename='.$outputfilename.'');
header(content-disposition: attachment;filename=商品销售点击数据报表.xls );
header(content-transfer-encoding: binary);
header(expires: mon, 26 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');