码迷,mamicode.com
首页 > Web开发 > 详细

php导出数据excel

时间:2016-11-29 00:07:19      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:php导出数据excel

           public function villageinfo(){
              set_time_limit(‘0‘);
              $villageDb=D("Village");
              $houseDb=D("House");
              $areaDb=D("FangArea");
              $field="villageName,villageId,fangAreaId";
              $data=$villageDb->field($field)->select();
              foreach($data as $key=>$val){
                  $a=$areaDb->getAreaName($val[‘fangAreaId‘]);
                  $data[$key][‘areaname‘]=$a[‘fangAreaName‘];
                  $b=$houseDb->getHouseNum($val[‘villageId‘],340100);
                  $data[$key][‘count‘]=$b;

              }
              $this->getExcel(‘‘,‘‘,$data);
          }

private  function getExcel($fileName,$headArr,$data){
   //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
   require_once THINK_PATH.‘Library/Org/Util/PHPexcel/PHPExcel.php‘;
   import("Library.Org.Util.PHPExcel");
   import("Library.Org.Util.PHPExcel.Writer.Excel5");
   import("Library.Org.Util.PHPExcel.IOFactory.php");

   $date = date("Y_m_d",time());
   $fileName .= "_{$date}.xls";

   //创建PHPExcel对象,注意,不能少了\
   $objPHPExcel = new \PHPExcel();
   $objProps = $objPHPExcel->getProperties();

   //设置表头
   $key = ord("A");
   //print_r($headArr);exit;
   foreach($headArr as $v){
       $colum = chr($key);
       $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.‘1‘, $v);
       $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.‘1‘, $v);
       $key += 1;
   }

   $column = 2;
   $objActSheet = $objPHPExcel->getActiveSheet();

   //print_r($data);exit;
   foreach($data as $key => $rows){ //行写入
       $span = ord("A");
       foreach($rows as $keyName=>$value){// 列写入
           $j = chr($span);
           $objActSheet->setCellValue($j.$column, $value);
           $span++;
       }
       $column++;
   }

   $fileName = iconv("utf-8", "gb2312", $fileName);

   //重命名表
   //$objPHPExcel->getActiveSheet()->setTitle(‘test‘);
   //设置活动单指数到第一个表,所以Excel打开这是第一个表
   $objPHPExcel->setActiveSheetIndex(0);
   ob_end_clean();//清除缓冲区,避免乱码
   header(‘Content-Type: application/vnd.ms-excel‘);
   header("Content-Disposition: attachment;filename=\"$fileName\"");
   header(‘Cache-Control: max-age=0‘);

   $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘);
   $objWriter->save(‘php://output‘); //文件通过浏览器下载
   exit;
}


php导出数据excel

标签:php导出数据excel

原文地址:http://liang3391.blog.51cto.com/178205/1877446

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!