为了账号安全,请及时绑定邮箱和手机立即绑定

php导出数据excel

标签:
PHP

           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;
}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消