萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> header導出Excel應用示例

header導出Excel應用示例

 本文為大家介紹下使用header導出Excel,具體實現代碼如下,感興趣的朋友不要錯過

代碼如下: <?php  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= '分類,創意ID,創意類型,創意標簽,創意標題,創意描述,評論數, 收藏數,投票數,提交人,作者,合作者,核心創新點說明,市場計劃,已有類似商業化案例,相關專利狀況,實現方式討論,發表時間'."n";  }else{  $csv= '分類,創意ID,創意類型,創意標簽,創意標題,創意描述,評論數, 收藏數,投票數,提交人,作者,合作者,核心創新點說明,市場計劃,已有類似商業化案例,相關專利狀況,實現方式討論,發表時間'."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['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'].','.$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.','.$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'].','.$v['collaborator'].','.$v ['innovation_description'].','.$v['marketing_plan'].','.$v['business_case'].','.$v['patent_situation'].','.$v['discuss_ ways'].','.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'].','.$type.','.$v['creative_name'].','.$v['creative_description'].','.$v['vote_ num'].','.$v['comment_num'].','.$v['collect_num'].','.$time."n";  }  echo mb_convert_encoding($csv,"CP936","UTF-8");    }else{  $this->assign("msg",$msg);  }  exit;  }    $this->display();  }  }  ?> 
copyright © 萬盛學電腦網 all rights reserved