php导出表格数据

0.基本配置

百度云链接
密码: m7ch
将配置文件放置在vendor目录下

1.创建数据

public function create_export0($list,$val){
        $list =[]; //数据
        $val=‘’;  //类型
        $this->createReport($list,$val);
}

2.创建表格

public function createReport($list,$val)
    {
    //标题名称
        $expCellName = [
            ['0', '用户名称', 'name'],  //name为$list的键名
            ['1', '参与时间', 'addtime'],
           ......
        ];

        $count =count($list);   //总条数
        if ($val=='1'){
            $str ='本次统计共:'.$count.' 条 '.',统计范围:1';
        }elseif ($val=='2'){
            $str ='本次统计共:'.$count.' 条 '.',统计范围:2';
        }else{
            $str ='本次统计共:'.$count.' 条 '.'统计范围:3';
        }
        $this->excel3($expCellName, $list, $str);
}

3.导出表格

        $xlsTitle = iconv('utf-8', 'gb2312', '');
        $fileName = date('数据统计_Ymd');// 文件名称
        $cellNum = count($expCellName);
        $dataNum = count($expTableData);

        Vendor("PHPExcel.PHPExcel");
        $objPHPExcel = new \PHPExcel();
        $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I','J');
        $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合并单元格
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $str);
        for ($i = 0; $i < $cellNum; $i++) {
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '2', $expCellName[$i][1]);
        }
        if ($dataNum > 0) {
            //逻辑区
            for ($i = 0; $i < $dataNum; $i++) {
                for ($j = 0; $j < $cellNum; $j++) {
                    $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 3), $expTableData[$i][$expCellName[$j][2]]);
                }
            }
        }
        ob_end_clean();//清除缓冲区,避免乱码
        header('pragma:public');
        header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');
        header("Content-Disposition:attachment;filename=$fileName.xls");
        //attachment新窗口打印inline本窗口打印
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值