header导出Excel应用示例
发布时间:2020-12-12 20:02:06 所属栏目:PHP教程 来源:网络整理
导读:代码如下: class reportFormAction extends CommonAction{ public function index(){ if($_POST){ //@param $data array 需要导出的数据 //@param $field string 导出csv文件的列名 //@param $filename string 需要导出csv文件的名字 $where = '1'; $order =
代码如下: class reportFormAction extends CommonAction{ public function index(){ if($_POST){ //@param $data array 需要导出的数据 //@param $field string 导出csv文件的列名 //@param $filename string 需要导出csv文件的名字 $where = '1'; $order = 'creative_id desc'; if($_POST['crea_wh'] == 1) $order .= ""; if($_POST['crea_wh'] == 2) $order .= "creative_time desc"; $star = strtotime($_POST['control_star']); $end = strtotime($_POST['control_end']); if($star && $end) $where .= " and (create_time between $star and $end)"; if($_POST['creative_type'] == 1) $where .= " and creative_type =1"; if($_POST['creative_type'] == 2) $where .= " and creative_type =2"; if($_POST['creative_type'] == 3) $where .= " and creative_type =3"; if($_POST['sort_name'] == 1) $where .= " and sort_name = '技术类'"; if($_POST['sort_name'] == 2) $where .= " and sort_name = '包装类'"; if($_POST['sort_name'] == 3) $where .= " and sort_name = '产品类'"; if($_POST['sort_name'] == 4) $where .= " and sort_name = '营销类'"; if($_POST['sort_name'] == 5) $where .= " and sort_name = '其他类'"; if($_POST['two_status']==0) {$where .= " and two_status=0"; $fenlei1="一句话创意";} if($_POST['two_status']==1) {$where .= " and two_status=1"; $fenlei2="标准创意";} $csv = ''; $lists = M('creative')->where($where)->order($order)->select(); if(is_array($lists) && count($lists)>0) { if(empty($filename)) { $filename = date('Y-m-d',time()).'.csv'; } header('Content-type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename='.$filename); header('Pragma:no-cache'); header('Expires:0'); if($_POST['two_status']==0){ $csv= '分类,创意ID,创意类型,创意标签,创意标题,创意描述,评论数,收藏数,投票数,提交人,作者'."n"; }elseif($_POST['two_status']==1){ $csv= '分类,作者,合作者,核心创新点说明,市场计划,已有类似商业化案例,相关专利状况,实现方式讨论,发表时间'."n"; }else{ $csv= '分类,发表时间'."n"; } foreach($lists as $list =>$v) { if($v['creative_type'] == 1){ $type = '问题'; }elseif($v['creative_type'] == 2){ $type = '解决方式'; }elseif($v['creative_type'] == 3){ $type = '新创意'; } if($v['two_status']==0) $fenlei="一句话创意"; if($v['two_status']==1) $fenlei="标准创意"; if($_POST['two_status']==0){ //一句话 $csv .= $fenlei1.','.$v['creative_id'].",".$v['sort_name'].','.$type.','.$v['creative_name'].','.$v['creative_description'].','.$v['comment_num'].','.$v['collect_num'].','.$v['vote_num'].','.$v['submitter'].','.$v['author']."n"; }elseif($_POST['two_status']==1){ //标准 $csv .= $fenlei2.','.$v['author'].','.$v['collaborator'].','.$v['innovation_description'].','.$v['marketing_plan'].','.$v['business_case'].','.$v['patent_situation'].','.$v['discuss_ways'].','.strtotime($v['create_time'])."n"; }else{ //全部 $csv .= $fenlei.','.strtotime($v['create_time'])."n"; } } echo mb_convert_encoding($csv,"CP936","UTF-8"); }else{ $this->assign("msg",$msg); } exit; } $this->display(); } public function votecount(){ if($_POST){ //@param $data array 需要导出的数据 //@param $field string 导出csv文件的列名 //@param $filename string 需要导出csv文件的名字 $where = '1'; if($_POST['crea_order'] == 1) $order = " c.vote_num desc"; $star = strtotime($_POST['control_star']); $end = strtotime($_POST['control_end']); if($star && $end) $where .= " and (c.vote_start_time between $star and $end) and (c.vote_end_time between $star and $end)"; $sql ="select c.sort_name,c.creative_id,c.creative_type,c.creative_name,c.creative_description,c.vote_num,c.comment_num,c.collect_num,c.create_time,u.username from cofco_creative as c left join cofco_userinfo as u on c.uid = u.uid where $where order by $order "; $lists = M()->query($sql); $csv = ''; if(is_array($lists) && count($lists)>0) { if(empty($filename)) { $filename = date('Y-m-d',time()).'.csv'; } header('Content-type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename='.$filename); header('Pragma:no-cache'); header('Expires:0'); $csv = '创意标签,提交者,创意分类,创意简述,得票数,上传时间'."n"; foreach($lists as $list =>$v) { if($v['creative_type'] == 1){ $type = '问题'; }elseif($v['creative_type'] == 2){ $type = '解决方式'; }elseif($v['creative_type'] == 3){ $type = '新创意'; } $time = date("Y-m-d H:i:s",$v['create_time']); $csv .= $v['sort_name'].','.$v['username'].','.$time."n"; } echo mb_convert_encoding($csv,$msg); } exit; } $this->display(); } } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |