变更单元格背景颜色

  • excel 导出设置字体大小
  • 变更字体颜色
  • 变更单元格背景颜色
// 导出高企认证表的表格~~
    public static function exportYueExcel($expTitle,$title_arr,$expTableData) {
        $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
        $fileName = $xlsTitle;//or $xlsTitle 文件名称可根据自己情况设定

        Vendor('PHPExcel.PHPExcel');
        $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');
        
        // zb 设置行高  宽度
        $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20);
        foreach ($cellName as $cv){
            $objPHPExcel->getActiveSheet()->getColumnDimension($cv)->setWidth(25);//#设置单元格宽度
        }

        // 第一行,合并标题
        $objPHPExcel->getActiveSheet(0)->mergeCells('A1:E1');//合并单元格
        $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(40);
        $objPHPExcel->setActiveSheetIndex()->setCellValue('A1', $expTitle);
        $objPHPExcel->getActiveSheet()->getStyle()->getFont()->setBold(true);
        $objPHPExcel->getActiveSheet()->getStyle()->getFont()->setSize(30)->getColor()->setRGB('202E69');
         
        $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        // 标题栏
        foreach($title_arr as $v){
            if($v[1]){
                $objPHPExcel->getActiveSheet(0)->mergeCells($v[1]);//合并单元格
            }

            $objPHPExcel->setActiveSheetIndex()->setCellValue($v[2], $v[0]);
            $objPHPExcel->getActiveSheet()->getStyle($v[2])->getFont()->setBold(true);
            $objPHPExcel->getActiveSheet()->getStyle($v[2])->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
            $objPHPExcel->getActiveSheet()->getStyle($v[2])->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);    
        }

        foreach($expTableData as $v){
            foreach($v as $vv){
                if($vv[1]){
                    $objPHPExcel->getActiveSheet(0)->mergeCells($vv[1]);//合并单元格
                }

                if($vv[3]){
                    $objPHPExcel->getActiveSheet()->getStyle($vv[2])->getFill()->applyFromArray(array(
                        'type'          => 'solid',
                        'startcolor'    => array('rgb' => $vv[3])
                    ));
                }

                $objPHPExcel->setActiveSheetIndex()->setCellValue($vv[2], $vv[0]);
                $objPHPExcel->getActiveSheet()->getStyle($vv[2])->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
                $objPHPExcel->getActiveSheet()->getStyle($vv[2])->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);        
            }
        }


        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本窗口打印
        // Vendor('PHPExcel_IOFactory');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;
    }

posted @   盘思动  阅读(189)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2019-01-18 微信小程序退款 处理类
2018-01-18 getQueryString----获取url中得参数
点击右上角即可分享
微信分享提示