ThinkPHP5.0导出表格

ThinkPHP5.0导出excel表格

1,首先把PHPExcel放入项目根目录的extend目录
2,控制器代码

    //导出表格
    public function export()
    {
        //1.从数据库中取出数据
        $where = input('param.fw_pici');
        $list  = UserModel::where($where)->order('create_time desc')->select();
        
        //2.加载PHPExcle类库
        include_once EXTEND_PATH . 'PHPExcel/PHPExcel.php';
        // vendor('PHPExcel.PHPExcel');
        //3.实例化PHPExcel类
        $objPHPExcel = new \PHPExcel();
        //4.激活当前的sheet表
        $objPHPExcel->setActiveSheetIndex(0);
        //5.设置表格头(即excel表格的第一行)
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'ID')
            ->setCellValue('B1', '序号')
            ->setCellValue('C1', '残疾人号')
            ->setCellValue('D1', '名字')
            ->setCellValue('E1', '身份证号码')
            ->setCellValue('F1', '户籍地址')
            ->setCellValue('G1', '民族')
            ->setCellValue('H1', '出生日期');
        //设置A列水平居中
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()
            ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        //设置单元格宽度
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(10);
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30);
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(30);
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(30);
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('P')->setWidth(30);
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('Q')->setWidth(30);
        //6.循环刚取出来的数组,将数据逐一添加到excel表格。
        for ($i = 0; $i < count($list); $i++) {
            $objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 2), $list[$i]['id']); //ID
            $objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 2), $list[$i]['sid']); //
            $objPHPExcel->getActiveSheet()->setCellValue('C' . ($i + 2), $list[$i]['cjcard']); //
            $objPHPExcel->getActiveSheet()->setCellValue('D' . ($i + 2), $list[$i]['name']); //
            $objPHPExcel->getActiveSheet()->setCellValue('E' . ($i + 2), $list[$i]['idnumber']); //
            $objPHPExcel->getActiveSheet()->setCellValue('F' . ($i + 2), $list[$i]['site']); //
            $objPHPExcel->getActiveSheet()->setCellValue('G' . ($i + 2), $list[$i]['nation']); //
            $objPHPExcel->getActiveSheet()->setCellValue('H' . ($i + 2), $list[$i]['born']); //
        }
        //7.设置保存的Excel表格名称
        $filename = '贫困户表格' . date('ymd', time()) . '.xls';
        //8.设置当前激活的sheet表格名称;
        $objPHPExcel->getActiveSheet()->setTitle('贫困户表格');
        //9.设置浏览器窗口下载表格
        header("Content-Type: application/force-download");
        header("Content-Type: application/octet-stream");
        header("Content-Type: application/download");
        header('Content-Disposition:inline;filename="' . $filename . '"');
        //生成excel文件
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        //下载文件在浏览器窗口
        $objWriter->save('php://output');
        exit;
    }

3,模板代码

<a href="{:url('admin/user/export')}" class="layui-btn layui-btn-normal ">导出表格</a>

Pasa吴技术博客
请先登录后发表评论
  • latest comments
  • 总共0条评论