thinkphp3.2+PHPExcel导出数据

下载PHPExcel将Classes中的内容放入.\ThinkPHP\Library\Vendor\PHPExcel中

1.创建公共函数common/function.php中

function exportDataExcel($xlsName,$expCellName,$expTableData){

    $fileName = $xlsName.date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
    $cellNum = count($expCellName);//得到表头的长度
    $dataNum = count($expTableData);//得到内容的长度
    vendor("PHPExcel.PHPExcel");//引入EXCEL类包
    $objPHPExcel = new \PHPExcel();//实例化类
    $cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
    $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1',$fileName.'店铺数据表'); //输入标题
    $objPHPExcel->setActiveSheetIndex(0)->getStyle ( 'A1' )->getAlignment ()->setHorizontal ( \PHPExcel_Style_Alignment::HORIZONTAL_CENTER );  // 设置单元格水平对齐格式
    $objPHPExcel->setActiveSheetIndex(0)->getStyle ( 'A1' )->getAlignment ()->setVertical ( \PHPExcel_Style_Alignment::VERTICAL_CENTER );      // 设置单元格垂直对齐格式

    //输出标题栏
    for($i=0;$i<$cellNum;$i++){
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i][1]);
    }

    //输出内容栏
    for($i=0;$i<$dataNum;$i++){
        for($j=0;$j<$cellNum;$j++){
            $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
        }
    }

    //导出execl
    ob_end_clean();
    header('pragma:public');
    header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$fileName.'.xls"');
    header("Content-Disposition:attachment;filename=$fileName.xls");
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;
}

2.控制器中

public function export(){
        header('content-type:text/html;charset=utf-8');
        //导出的Excel表格的名字
        $xlsName  = "店铺列表";
        //导出的Excel表格的表头
        $xlsCell  = array(
            array('kid','序号'),
            array('ktitle','店铺名'),
            array('kname','联系人'),
            array('ktel','联系电话'),
            array('kqy','区域'),
            array('kcs','城市'),
            array('kdz','地址'),
            array('ktime','注册时间'),
            array('uid','业务员'),
        );
        $xlsData = M('sp')->select();   //你自己数据库查询出来的值
        exportDataExcel($xlsName,$xlsCell,$xlsData);
    }

-------就是控制其中传入的参数需要修改,其他地方直接复制粘贴完事------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值