phpexcel表格 导出

 import("Org.Util.PHPExcel");

 $excel = new \PHPExcel();

 $excel->getProperties()->setCreator("JAMES")
     ->setLastModifiedBy("JAMES")
     ->setTitle("zltrans")
     ->setSubject("Dorder")
     ->setDescription("Dorder List")
     ->setKeywords("Dorder")
     ->setCategory("Test result file");


 $excel->getActiveSheet()->setTitle('统计数据表');

 // 设置单元格高度
 // 所有单元格默认高度
 $excel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(25);
 // 第一行的默认高度
 $excel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);
 // 垂直居中
 $excel->getActiveSheet()->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
 // 设置水平居中
 $excel->getActiveSheet()->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

 //Excel表格式
 $letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M');
 //表头数组
 $tableheader = array('序号','小程序名称','打开次数','访问次数','访问人数','新用户数','人均停留时长/秒','次均停留时长/秒','平均访问深度','累计用户数','转发次数','转发人数','日期');

 $tablestyle = array(
     array('width'=>'5'),
     array('width'=>'30'),
     array('width'=>'15'),
     array('width'=>'15'),
     array('width'=>'15'),
     array('width'=>'20'),
     array('width'=>'40'),
     array('width'=>'15'),
     array('width'=>'20'),
     array('width'=>'15'),
     array('width'=>'15'),
     array('width'=>'15'),
     array('width'=>'15'),
 );


 //填充表头信息
 for($i = 0;$i < count($tableheader);$i++) {
     $excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
     $excel->getActiveSheet()->getColumnDimension($letter[$i])->setWidth($tablestyle[$i]['width']);
 }

 $auth_statistics = M('auth_statistics')->where($where)->order("$type desc")->select(); //数据

 $session_cnt = 0;
 $visit_pv = 0;
 $visit_uv = 0;
 $visit_uv_new = 0;
 $visit_total = 0;

 foreach ($auth_statistics as $key=>$val){

     $i = $key+2;
     $sort = $key+1;

     $excel->getActiveSheet()->setCellValue("$letter[0]$i","{$sort}");
     $excel->getActiveSheet()->setCellValue("$letter[1]$i","{$val['appname']}");
     $excel->getActiveSheet()->setCellValue("$letter[2]$i","{$val['session_cnt']}");
     $excel->getActiveSheet()->setCellValue("$letter[3]$i","{$val['visit_pv']}");
     $excel->getActiveSheet()->setCellValue("$letter[4]$i","{$val['visit_uv']}");
     $excel->getActiveSheet()->setCellValue("$letter[5]$i","{$val['visit_uv_new']}");
     $excel->getActiveSheet()->setCellValue("$letter[6]$i","{$val['stay_time_uv']}");
     $excel->getActiveSheet()->setCellValue("$letter[7]$i","{$val['stay_time_session']}");
     $excel->getActiveSheet()->setCellValue("$letter[8]$i","{$val['visit_depth']}");
     $excel->getActiveSheet()->setCellValue("$letter[9]$i","{$val['visit_total']}");
     $excel->getActiveSheet()->setCellValue("$letter[10]$i","{$val['share_pv']}");
     $excel->getActiveSheet()->setCellValue("$letter[11]$i","{$val['share_uv']}");
     $excel->getActiveSheet()->setCellValue("$letter[12]$i","{$val['ref_date']}");

     $session_cnt +=$val['session_cnt'];

     $visit_pv +=$val['visit_pv'];

     $visit_uv += $val['visit_uv'];

     $visit_uv_new +=$val['visit_uv_new'];

     $visit_total +=$val['visit_total'];

 }

 $final_num = count($auth_statistics)+2;

 $excel->getActiveSheet()->setCellValue("$letter[0]$final_num","总数");
 $excel->getActiveSheet()->setCellValue("$letter[1]$final_num","");
 $excel->getActiveSheet()->setCellValue("$letter[2]$final_num","打开次数:{$session_cnt}");
 $excel->getActiveSheet()->setCellValue("$letter[3]$final_num","访问次数:{$visit_pv}");
 $excel->getActiveSheet()->setCellValue("$letter[4]$final_num","访问人数:{$visit_uv}");
 $excel->getActiveSheet()->setCellValue("$letter[5]$final_num","新用户数:{$visit_uv_new}");
 $excel->getActiveSheet()->setCellValue("$letter[6]$final_num","");
 $excel->getActiveSheet()->setCellValue("$letter[7]$final_num","");
 $excel->getActiveSheet()->setCellValue("$letter[8]$final_num","");
 $excel->getActiveSheet()->setCellValue("$letter[9]$final_num","累计用户数:{$visit_total}");
 $excel->getActiveSheet()->setCellValue("$letter[10]$final_num","");
 $excel->getActiveSheet()->setCellValue("$letter[11]$final_num","");
 $excel->getActiveSheet()->setCellValue("$letter[12]$final_num","");


 import("Org.Util.PHPExcel.IOFactory");

 $objWriter = \PHPExcel_IOFactory::createWriter($excel,'Excel2007');

 $name = $ref_date."统计数据.xlsx";

// $objWriter->save($name);

 header("Pragma: public");
 header("Expires: 0");
 header("Expires: 0");
 header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
 header("Content-Type:application/force-download");
 header("Content-Type:application/vnd.ms-execl");
 header("Content-Type:application/octet-stream");
 header("Content-Type:application/download");;
 header('Content-Disposition:attachment;filename="'.$name.'"');
 header("Content-Transfer-Encoding:binary");
 $objWriter->save('php://output');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值