欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php实现excel单元格合并,字体加粗居中等操作 有大用 有大大用

php实现excel单元格合并,字体加粗居中等操作

使用的是phpexcel,基本用的原生语法,所见即所得,直接复制下面代码,即可:

复制代码
// 引用phpexcel类
            $this->load->library('PHPExcel');

            // 创建对象
            $objPHPExcel = new PHPExcel();

            // 显示错误信息
            error_reporting(E_ALL);

            // Set properties
            $objPHPExcel->getProperties()->setCreator("1245049149@qq.com")
                ->setLastModifiedBy("1245049149@qq.com")
                ->setTitle("Office 2007 XLSX Test Document")
                ->setSubject("Office 2007 XLSX Test Document")
                ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                ->setKeywords("office 2007 openxml php")
                ->setCategory("Test result file");

            // 字体和样式
            $objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(12);      //字体大小
            $objPHPExcel->getActiveSheet()->getStyle('A2:D2')->getFont()->setBold(false); //第二行是否加粗
            $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);      //第一行是否加粗
            $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(16);         //第一行字体大小
            $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setSize(14);         //第二行字体大小
            $objPHPExcel->getActiveSheet()->getStyle('A6')->getFont()->setSize(14);         //第六行字体大小
            $objPHPExcel->getActiveSheet()->getStyle('A11')->getFont()->setSize(14);         //第十一行字体大小

            // 设置垂直居中
            $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
            $objPHPExcel->getActiveSheet()->getStyle('A2:D2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

            // 设置水平居中
            $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
            $objPHPExcel->getActiveSheet()->getStyle('A3:G5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
            $objPHPExcel->getActiveSheet()->getStyle('A7:G10')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
            $objPHPExcel->getActiveSheet()->getStyle('A12:B15')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

            //设置左对齐
            $objPHPExcel->getActiveSheet()->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
            $objPHPExcel->getActiveSheet()->getStyle('A6')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
            $objPHPExcel->getActiveSheet()->getStyle('A11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

            // 设置行高度
            $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20); //设置默认行高
            $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);    //第一行行高

            //设置单元格宽度
            $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
            $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
            $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
            $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
            $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
            $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
            $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);

            // 合并
            $objPHPExcel->getActiveSheet()->mergeCells('A1:G1'); //合并单元格
            $objPHPExcel->getActiveSheet()->mergeCells('A2:G2'); //合并单元格
            $objPHPExcel->getActiveSheet()->mergeCells('A6:G6'); //合并单元格
            $objPHPExcel->getActiveSheet()->mergeCells('A11:B11'); //合并单元格

            // 设置内容
            $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A1', '利润核算统计')
                ->setCellValue('A2', '【用户充值】')
                ->setCellValue('A3', '费率')
                ->setCellValue('B3', '笔数    ')
                ->setCellValue('C3', '充值进账')
                ->setCellValue('D3', '手续费')
                ->setCellValue('E3', '利润')
                ->setCellValue('A4', '1.0%')
                ->setCellValue('B4', $pay_log_list['aa'])
                ->setCellValue('C4', $pay_log_list['bb'])
                ->setCellValue('D4', $pay_log_list['cc'])
                ->setCellValue('E4', $pay_log_list['dd'])
                ->setCellValue('A5', '合计')
                ->setCellValue('B5', $pay_log_list['ee'])
                ->setCellValue('C5', $pay_log_list['ff'])
                ->setCellValue('D5', $pay_log_list['gg'])
                ->setCellValue('E5', $pay_log_list['hh'])
                ->setCellValue('A6', '【用户提现】')
                ->setCellValue('A7', '类别')
                ->setCellValue('B7', '笔数')
                ->setCellValue('C7', '申请提现')
                ->setCellValue('D7', '手续费')
                ->setCellValue('E7', '快钱提现')
                ->setCellValue('F7', '手续费')
                ->setCellValue('G7', '利润')
                ->setCellValue('A8', '收取手续费')
                ->setCellValue('B8', $withdraw_list['ii'])
                ->setCellValue('C8', $withdraw_list['kk'])
                ->setCellValue('D8', $withdraw_list['ll'])
                ->setCellValue('E8', $withdraw_list['mm'])
                ->setCellValue('F8', $withdraw_list['nn'])
                ->setCellValue('G8', $withdraw_list['oo'])
                ->setCellValue('A9', '未收取手续费')
                ->setCellValue('B9', $withdraw_list['pp'])
                ->setCellValue('C9', $withdraw_list['qq'])
                ->setCellValue('D9', $withdraw_list['rr'])
                ->setCellValue('E9', $withdraw_list['ss'])
                ->setCellValue('F9', $withdraw_list['tt'])
                ->setCellValue('G9', $withdraw_list['ww'])
                ->setCellValue('A10', '合计')
                ->setCellValue('B10', $withdraw_list['uu'])
                ->setCellValue('C10', $withdraw_list['vv'])
                ->setCellValue('D10', $withdraw_list['xx'])
                ->setCellValue('E10', $withdraw_list['yy'])
                ->setCellValue('F10', $withdraw_list['zz'])
                ->setCellValue('G10', $withdraw_list['aaa'])
                ->setCellValue('A11', '【利润汇总】')
                ->setCellValue('A12', '充值手续费收')
                ->setCellValue('B12', $all_summary['bbb'])
                ->setCellValue('A13', '提现手续费支')
                ->setCellValue('B13', $all_summary['ccc'])
                ->setCellValue('A14', '快钱提现手续费支')
                ->setCellValue('B14', $all_summary['ddd'])
                ->setCellValue('A15', '利润')
                ->setCellValue('B15', $all_summary['eee']);

            // Rename sheet
            $objPHPExcel->getActiveSheet()->setTitle('利润核算表');

            // Set active sheet index to the first sheet, so Excel opens this as the first sheet
            $objPHPExcel->setActiveSheetIndex(0);

            // 设置输出
            $tableName = '利润核算表【'.$st.'--'.$et.'】';
            header('Content-Type: application/vnd.ms-excel');
            header('Content-Disposition: attachment;filename="' .$tableName. '.xls"');
            header('Cache-Control: max-age=0');

            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
            $objWriter->save('php://output');
            exit;
复制代码

基本效果展示,视图页面样式:

下载excel后,效果展示:

end ,完美!

来自   https://www.cnblogs.com/qwgshare/p/9782889.html



php excel行合并单元格

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/moshushin/article/details/88819729

Yii::$enableIncludePath = false;

        $objPHPExcel = new PHPExcel();

        //设置标题样式加粗跟居中

        $objPHPExcel->getActiveSheet()->getStyle('A1:L4')->getFont()->setBold(true);

        //$objPHPExcel->getActiveSheet()->getStyle('A1:K4')->getFont()->setSize(18);

        $objPHPExcel->getActiveSheet()->getStyle('A1:L4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        //$objPHPExcel->getActiveSheet()->getStyle('A1:K4')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

 

        $objPHPExcel->getActiveSheet()->setTitle($res->kgc_examination_name.' 成绩汇总');

        $objPHPExcel->getActiveSheet()->setCellValue('A1', $res->kgc_examination_name.' 成绩汇总');

        $objPHPExcel->getActiveSheet()->mergeCells('A1:L1');  //合并单元格

        $objPHPExcel->getActiveSheet()->setCellValue('A2', '考试时间:'.date('Y-m-d H:i:s',$res->examination_start_time).'~'.date('Y-m-d H:i:s',$res->examination_end_time));

        $objPHPExcel->getActiveSheet()->mergeCells('A2:L2'); //合并单元格

        $objPHPExcel->getActiveSheet()->setCellValue('A3', '中心名称');

        $objPHPExcel->getActiveSheet()->mergeCells('A3'.':'.'A4'); //合并单元格

        $objPHPExcel->getActiveSheet()->setCellValue('B3', 'UID');

        $objPHPExcel->getActiveSheet()->mergeCells('B3'.':'.'B4');

        $objPHPExcel->getActiveSheet()->setCellValue('C3', '姓名');

        $objPHPExcel->getActiveSheet()->mergeCells('C3'.':'.'C4');

        $objPHPExcel->getActiveSheet()->setCellValue('D3', '分数(选择题)');

        $objPHPExcel->getActiveSheet()->mergeCells('D3'.':'.'D4');

        $objPHPExcel->getActiveSheet()->setCellValue('E3', '主观题');

        $objPHPExcel->getActiveSheet()->mergeCells('E3:I3');

 

        $objPHPExcel->getActiveSheet()->setCellValue('E4', 'ID');

        $objPHPExcel->getActiveSheet()->setCellValue('F4', 'ID1');

        $objPHPExcel->getActiveSheet()->setCellValue('G4', 'ID2');

        $objPHPExcel->getActiveSheet()->setCellValue('H4', 'ID3');

        $objPHPExcel->getActiveSheet()->setCellValue('I4', 'ID4');

        $objPHPExcel->getActiveSheet()->setCellValue('J3', '总分');

        $objPHPExcel->getActiveSheet()->mergeCells('J3'.':'.'J4');

        $objPHPExcel->getActiveSheet()->setCellValue('K3', '评语');

        $objPHPExcel->getActiveSheet()->mergeCells('K3'.':'.'K4');

        $objPHPExcel->getActiveSheet()->setCellValue('L3', '附件目录');

        $objPHPExcel->getActiveSheet()->mergeCells('L3'.':'.'L4');

        $objPHPExcel->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);

      $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $fileName = '考试名称_成绩汇总' . '.xls';
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
        header("Content-Type:application/force-download");
        header("Content-Type:application/vnd.ms-excel;");
        header("Content-Type:application/octet-stream");
        header("Content-Type:application/download");
        header("Content-Disposition:attachment;filename=" . $fileName);
        header("Content-Transfer-Encoding:binary");
        $objWriter->save('php://output');
        Jii::app()->end();

效果


普通分类: