作者 王智

baoxiu22

... ... @@ -106,4 +106,100 @@ class Dashboard extends Backend
return $this->view->fetch();
}
public function out(){
$result = Db::name('applet_user')->field('id,name,mobile,colleges')->order('id desc')->select();
$filename = "用户测评数据";
vendor('PHPExcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
//设置保存版本格式
$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
//设置表头
$objPHPExcel->getActiveSheet()->setCellValue('A1','id');
$objPHPExcel->getActiveSheet()->setCellValue('B1','姓名');
$objPHPExcel->getActiveSheet()->setCellValue('C1','手机');
$objPHPExcel->getActiveSheet()->setCellValue('D1','意向院校');
$objPHPExcel->getActiveSheet()->setCellValue('E1','测评分值');
$objPHPExcel->getActiveSheet()->setCellValue('F1','学历背景得分');
$objPHPExcel->getActiveSheet()->setCellValue('G1','企业背景得分');
$objPHPExcel->getActiveSheet()->setCellValue('H1','收入水平得分');
$objPHPExcel->getActiveSheet()->setCellValue('I1','发展潜力得分');
$objPHPExcel->getActiveSheet()->setCellValue('J1','管理经验得分');
$objPHPExcel->getActiveSheet()->setCellValue('K1','英语水平得分');
$objPHPExcel->getActiveSheet()->setCellValue('L1','背景优势');
$objPHPExcel->getActiveSheet()->setCellValue('M1','背景劣势');
$objPHPExcel->getActiveSheet()->setCellValue('N1','匹配院校');
//改变此处设置的长度数值
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12);
//输出表格
$str = '用户未进行测评';
foreach ($result as $key => &$val) {
$count = Db::name('applet_answer')->where(['uid'=>$val['id'],'isdelete'=>0])->count();
$i=$key+2;//表格是从2开始的
if ($count>=1){
$row = SubjectService::getResult($val['id'],'');//score--1学历背景 2企业背景 3收入水平 4发展潜力 5管理经验 6英语水平
//优势
$advan = $row['advan'] ? implode('、',$row['advan']) : '暂无优势';
$inferi = $row['inferi'] ? implode('、',$row['inferi']) : '暂无劣势';
$colllist = $row['colllist'] ? implode('、',array_column($row['colllist'],'title')) : '无匹配院校';
//$score = Db::name('applet_answer')->where(['uid'=>$val['id'],'isdelete'=>0])->sum('score');
//dump($row);exit();
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$val['id']);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$val['name']);
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$val['mobile']);
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i,$val['colleges']);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i,$row['totalscore']);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i,$row['score'][0]);
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i,$row['score'][1]);
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i,$row['score'][2]);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i,$row['score'][3]);
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i,$row['score'][4]);
$objPHPExcel->getActiveSheet()->setCellValue('K'.$i,$row['score'][5]);
$objPHPExcel->getActiveSheet()->setCellValue('L'.$i,$advan);
$objPHPExcel->getActiveSheet()->setCellValue('M'.$i,$inferi);
$objPHPExcel->getActiveSheet()->setCellValue('N'.$i,$colllist);
}
else{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$val['id']);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$val['name']);
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$val['mobile']);
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i,$val['colleges']);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('K'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('L'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('M'.$i,$str);
$objPHPExcel->getActiveSheet()->setCellValue('N'.$i,$str);
}
}
header("Pragma: public");
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='.$filename.'.xls');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
}
}
... ...
... ... @@ -156,6 +156,10 @@
<ul class="nav nav-tabs">
<li class="active"><a href="#one" data-toggle="tab">{:__('Dashboard')}</a></li>
<!--<li><a href="#two" data-toggle="tab">详细1报表</a></li>-->
<a href="dashboard/out" class="btn btn-danger btn-import spec_add_btn"
data-title="导出测评数据" data-multiple="false" initialized="true"
style="position: relative; z-index: 1;">
<i class="fa fa-download"></i> 导出数据 </a>
</ul>
</div>
<div class="panel-body">
... ... @@ -349,18 +353,3 @@
<!--}-->
<!--;-->
<!--</script>-->
<!--<script>-->
<!--var c;-->
<!--var H5Name = document.getElementById("H5Name").innerHTML;-->
<!--var func = function () {-->
<!--c = setTimeout(function () {-->
<!--console.log('鼠标悬浮');-->
<!--console.log(H5Name);-->
<!--alert();-->
<!--}, 2000);-->
<!--};-->
<!--var func1 = function () {-->
<!--clearTimeout(c);-->
<!--console.log('鼠标离开');-->
<!--}-->
<!--</script>-->
... ...