导出excel参考

var itemExport = function () {
        var objs = document.getElementById("_query_form").elements;
        var i = 0;
        var cnt = objs.length;
        var obj;
        var url = '';
        var order = '';
        var page = document.getElementsByClassName("page selected")[0];


        for (i = 0; i < cnt; i++) {
            obj = objs.item(i);
            url += '&' + obj.name + '=' + obj.value;
        }
        if( typeof page == "undefined" ) {
            page = 1;
        }else{
            page = page.innerText;
        }
        var act = document.getElementById("export");
        act.href = "index.php?r=forms/forms/export&formname=<?php echo $formname; ?>"+"&page="+(page-1)+url+"&q_order="+order;
    }
public function actionExport($formname){


        $page = $_GET['page'] == '' ? 0 : $_GET['page']; //当前页码
        $_GET['page']=$_GET['page']+1;
        $args = $_GET['q']; //查询条件


        if($args['name']=='姓名')
            $args['name'] = '';
        if($args['phone']=='手机号')
            $args['phone'] = '';


        if($args['appid']==''&&Yii::app()->user->getState("type")==Operator::TYPE_BANK){
            $args['appid'] = Yii::app()->user->getState("appid");
        }
        $this->pageSize = 9999999999999;
        $rows = FormValue::getAllInfo($formname,$page,$this->pageSize,$args);
        unset($rows['total_num']);
        unset($rows['page_num']);
        //处理图片路径
        foreach($rows as $k=>$v){
            $rows[$k]['img'] = str_replace('..','http://wx.aiopos.cn',$v['img']);
        }
        //为指定表单制定表格
        if($formname == 'forecast'){


            $objectPHPExcel = new PHPExcel();
            $objectPHPExcel->setActiveSheetIndex(0);


            //报表头的输出
            $objectPHPExcel->getActiveSheet()->mergeCells('B1:G1');
            $objectPHPExcel->getActiveSheet()->setCellValue('B1','股市预测抽奖—信息表');
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B2','股市预测抽奖—信息表');
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B2','股市预测抽奖—信息表');
            $objectPHPExcel->setActiveSheetIndex(0)->getStyle('B1')->getFont()->setSize(24);
            $objectPHPExcel->setActiveSheetIndex(0)->getStyle('B1')
                ->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B2','日期:'.date("Y年m月j日"));


            //表格头的输出
            $objectPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B3','编号');
            $objectPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(6.5);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('C3','姓名');
            $objectPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(17);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('D3','身份证号');
            $objectPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(22);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('E3','手机号');
            $objectPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('F3','预测点位数值');
            $objectPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
            $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('G3','上传图片');
            $objectPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(50);


            //设置居中
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3')
                ->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);


            //设置边框
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )
                ->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )
                ->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )
                ->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )
                ->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )
                ->getBorders()->getVertical()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);


            //设置颜色
            $objectPHPExcel->getActiveSheet()->getStyle('B3:G3')->getFill()
                ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('FF66CCCC');


            //明细的输出
            foreach($rows as $k=>$v){
                static $i = 1;
                $objectPHPExcel->getActiveSheet()->setCellValue('B'.($i+3),$i);
                $objectPHPExcel->getActiveSheet()->setCellValue('C'.($i+3),$v['name']);
                $objectPHPExcel->getActiveSheet()->setCellValue('D'.($i+3),"'".$v['sn_num']);
                $objectPHPExcel->getActiveSheet()->setCellValue('E'.($i+3),"'".$v['phone']);
                $objectPHPExcel->getActiveSheet()->setCellValue('F'.($i+3),$v['forecast']);
                $objectPHPExcel->getActiveSheet()->setCellValue('G'.($i+3),$v['img']);


                //设置边框
                $currentRowNum = $i+4;
                $objectPHPExcel->getActiveSheet()->getStyle('B'.($i+4).':G'.$currentRowNum )
                    ->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
                $i++;
            }
            ob_end_clean();
            ob_start();


            header('Content-Type : application/vnd.ms-excel');
            header('Content-Disposition:attachment;filename="'.'股市预测—信息表-'.date("Y年m月j日").'.xls"');
            $objWriter= PHPExcel_IOFactory::createWriter($objectPHPExcel,'Excel5');
            $objWriter->save('php://output');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值