导出excel

public  function actionExport(){

  //文件名
$filename='Excel';
//获取输出的数据
$data = CrmKaihuMainService::getExportData($scenarios,$start,$end,$sou);
$export=>[

'A'=>['key'=>'id','label'=>'ID'],
    'B'=>['key'=>'pay_time','label'=>'到款时间'],
"C"=>['key'=>'name','label'=>'部门'],
"D"=>['key'=>"fullname",'label'=>"业务代表"],
"E"=>['key'=>'platform_name','label'=>'推广平台'],
"F"=>['key'=>'recharge_account','label'=>'账户名称'],
"G"=>['key'=>'customer','label'=>'客户公司名称'],
"H"=>['key'=>'sub_industry','label'=>'二级行业'],
"I"=>['key'=>'ad_link','label'=>'推广链接'],
"J"=>['key'=>'total_money','label'=>'到款金额'],
"K"=>['key'=>'recharge_principal','label'=>'充值本金'],
"L"=>['key'=>'kaihu_rebate','label'=>'返点'],
"M"=>['key'=>'cashback_ratio','label'=>'返现比例'],
"N"=>['key'=>'cashback_amount','label'=>'返现金额'],
"O"=>['key'=>'link_fee','label'=>'链接费'],
"P"=>['key'=>'kaihu_service_fee','label'=>'开户服务费'],
],




require ('../vendor/phpoffice/phpexcel/Classes/PHPExcel.php');
$objPHPExcel = new PHPExcel();
/*以下是一些设置 ,什么作者 标题啊之类的*/

$objPHPExcel->getProperties()->setCreator("Hsuanyuen.chenyan")
->setLastModifiedBy("Hsuanyuen.chenyan")
->setTitle("用户导出")
->setSubject("数据EXCEL导出")
->setDescription("备份数据")
->setKeywords("excel")
->setCategory("数据导出");

$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

/*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
//设置表头
foreach ($export as $k => $v ){
//Excel的第A列,uid是你查出数组的键值,下面以此类推
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(30);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($k.'1', $v['label']);
$keys[$k]=$v['key'];
}
foreach($data as $k => $v){
$num= $k+2;
foreach ($export as $kk => $vv ) {
//Excel的第A列,uid是你查出数组的键值,下面以此类推
$objPHPExcel->getActiveSheet()->getRowDimension($num)->setRowHeight('35');
$objPHPExcel->setActiveSheetIndex()->getColumnDimension($kk)->setWidth("15");
$objPHPExcel->setActiveSheetIndex()->setCellValue($kk . $num, $v[$vv['key']]);
}
}
$objPHPExcel->getActiveSheet()->setTitle('User');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
posted @ 2018-08-08 22:59  坚持!!  阅读(56)  评论(0)    收藏  举报