导出数据到excel多个sheet
来源:互联网 发布:美工刀片怎么掰断 编辑:程序博客网 时间:2024/05/22 13:08
public function getTjDocDt(){ $sStartDate = (Input::has('start_date') && Input::get('start_date')) ? Input::get('start_date') : date('Y-m-01', strtotime(date("Y-m-d")));//起始日期,默认当月第一天 $sEndDate = (Input::has('end_date') && Input::get('end_date'))? Input::get('end_date') : date("Y-m-d");//截止日期,默认当天 header("Content-Type: application/vnd.ms-excel"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("content-disposition: attachment;filename=医生答题情况".$sStartDate.'-'.$sEndDate.".xls"); require_once app_path().'/include/excel/excel.class.php'; $xls = new Excel_XML('UTF-8', false); //答题明细 $oAnsLists = RepresentMeetingAnswer::join('represent_meeting_them','represent_meeting_answer.themid','=','represent_meeting_them.id') ->join('doctor', 'represent_meeting_answer.doctor_id', '=', 'doctor.id') ->whereDate('represent_meeting_answer.created_at', '>=', $sStartDate)//根据时间提取 ->whereDate('represent_meeting_answer.created_at', '<=', $sEndDate) ->select('doctor.weixin_id', 'doctor.name', 'doctor.hospital', 'doctor.subject', 'represent_meeting_them.id as them_id', 'represent_meeting_them.meeting_them', 'represent_meeting_answer.answer', 'represent_meeting_them.right') ->get(); $aInfo = array();//明细信息 $aTongji = array();//统计信息 $aInfo[] = array('openid','姓名','医院','科室','主题','有无正确答案','正确答案','医生答案','是否正确'); foreach($oAnsLists as $obj){ $aInfo[] = array($obj->weixin_id,$obj->name ,$obj->hospital , $obj->subject , $obj->meeting_them,($obj->right) ? '有' : '无', $obj->right,$obj->answer, ($obj->right && trim($obj->answer) != trim($obj->right)) ? '错误' :'正确' ); //统计数据,按主题 if(!isset($aTongji[$obj->them_id])){ $aTongji[$obj->them_id] = array('meeting_them' => $obj->meeting_them, 'right'=>$obj->right,'all_count' =>0, 'right_count' =>0, 'zql' =>0); } $aTongji[$obj->them_id]['all_count'] = $aTongji[$obj->them_id]['all_count'] +1; if(!$obj->right || trim($obj->right) == trim($obj->answer)){ $aTongji[$obj->them_id]['right_count'] = $aTongji[$obj->them_id]['right_count'] +1; } $aTongji[$obj->them_id]['zql'] = ($aTongji[$obj->them_id]['all_count'] == 0) ? 0 : round(100*$aTongji[$obj->them_id]['right_count'] /$aTongji[$obj->them_id]['all_count'],2); } $xls->addSheet("医生答题明细",$aInfo); //统计数据整理 $aResult = array(); $aResult[] = array('主题','正确答案','答题人数','答案正确人数','正确率'); foreach ($aTongji as $arr){ $aResult[] = array($arr['meeting_them'], $arr['right'], $arr['all_count'], $arr['right_count'], $arr['zql']); } $xls->addSheet("医生答题统计",$aResult); $contents = $xls->generateXML('医生答题数据.xls');//创建XML文件 exit; }
阅读全文
0 0
- 导出数据到excel多个sheet
- 导出DataSet数据到excel的多个sheet
- POI导出数据到Excel的多个Sheet
- devexpress导出数据到excel,数据源为多个xtrareport时,多个sheet导出
- 导出数据到Excel 2007 多个Sheet页(NPOI)(web版)
- ASP.NET将数据导出到一个EXCEL文件的多个SHEET中
- dev多控件导出到Excel多个sheet页
- Java将多个数据表导出多个Sheet到Excel文件
- Excel-数据分类导出至多个Sheet NPOI.dll
- 导出数据到Excel 2003 单个Sheet页(NPOI)
- DEV中多个xtrareport导出excel,多个sheet页导出
- 关于导出excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 导出Excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 导出Excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- C# 如何将 不同的数据(多个查询结果集 dataset)导出到一个excel的不同sheet中
- 使用jxl导出excel时怎么创建多个sheet
- C#读取和导出EXCEL类库(可操作多个SHEET)
- asp.net导出Excel生成多个Sheet
- 【java设计模式】之 工厂(Factory)模式
- 取得不同类型的客户地址
- matlab鼠标拖动图形代码
- Android内存优化(一)DVM和ART原理初探
- Linux Cache管理radix_tree整理
- 导出数据到excel多个sheet
- Hibernate框架学习笔记02
- echart-柱状图显示说明
- 每日一题(2)—— -2与2的比较
- DOM外部插入insertAfter()与insertBefore()
- Mac下垃圾的清理
- Ubuntu 系统 Update-rc.d 命令
- Binary Tree Inorder/Preorder/Postorder Traversal(Java)
- 【java设计模式】之 抽象工厂(Abstract Factory)模式