zoukankan      html  css  js  c++  java
  • PHPExcel探索之旅---阶段二 设置表格样式

    1、设置表格的默认样式为水平居中、垂直居中

      getDefaultStyle()函数用来设置默认样式 由活动sheet对象来调用,setVertical()函数和setHorizontal()函数分别用来设置垂直和水平居中

    $objSheet -> getDefaultStyle() -> getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER) -> setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

    2、设置字体样式和大小

      设置默认字体样式和大小时使用getDefaultStyle()函数调用getFont()函数

      设置个别单元格字体样式和大小时,样式为:getStyle()->getFont() -> setSize(20) -> setBold(true);getStyle()函数中为设置范围,setBold函数设置是否加粗

    $objSheet -> getDefaultStyle() -> getFont() -> setName("微软雅黑") -> setSize("14");//设置默认字体为微软雅黑,大小为14
        $objSheet -> getStyle("A2:Z2") -> getFont() -> setSize(20) -> setBold(true);//设置年级所在行的字体大小为20,加粗
        $objSheet -> getStyle("A3:Z3") -> getFont() -> setSize(16) -> setBold(true);//设置班级所在行的字体大小为16,加粗

    3、合并单元格

      使用mergeCells()函数,参数为单元格范围:单元格1位置:单元格2位置

    $objSheet -> mergeCells($nameIndex."3:".$scoreIndex."3");//合并每个班级的单元格

    4、填充背景颜色

      getStyle(单元格范围)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB(rgb颜色编码');

    $objSheet->getStyle($nameIndex."3:".$scoreIndex."3")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('52e351');//填充班级所在列的背景颜色

    5、设置自动换行

      在setCellValue()函数前面加上 getStyle($nameIndex) -> getAlignment()->setWrapText(true);激活自动换行样式

      然后在setCellValue()赋值函数中在想要换行的地方加上“ ”

    $objSheet -> getStyle($nameIndex) -> getAlignment()->setWrapText(true);//设置列自动换行
                $objSheet -> setCellValue($nameIndex."4","姓名
    换行") -> setCellValue($scoreIndex."4","分数");

    6、设置边框的样式

      定义一个函数 getBorderStyle来获取有关的边框样式

      调用getStyle(单元格范围) -> applyFromArray($gradeBorderStyle);$gradeBorderStyle就是函数 getBorderStyle返回的包含边框样式的数组

        /**
         * 获取不同边框的格式
         * */
        function getBorderStyle($color){
            $styleArray = array(
                    'borders' => array(
                            'outline' => array(
                                    'style' => PHPExcel_Style_Border::BORDER_THICK,
                                    'color' => array('rgb' => $color),
                            ),
                    ),
            );
            return $styleArray;
            
        }
    $gradeBorderStyle = getBorderStyle("e3df51");//获取年级所在行的边框样式
            $objSheet -> getStyle($gradeIndex."2:".$endGradeIndex."2") -> applyFromArray($gradeBorderStyle);//设置年级列边框

    7、将单元格格式设置为文本格式

      将单元格赋值函数setCellValue换成setCellValueExplicit函数并加入第三个函数参数"PHPExcel_Cell_DataType::TYPE_STRING"

      应用于单元格内容为超过11位的数字时

    //将单元格格式设置为文本格式的事例
     $objSheet -> setCellValue($nameIndex.$j,$val['username']) -> setCellValueExplicit($scoreIndex.$j,$val['score']."1561540661", PHPExcel_Cell_DataType::TYPE_STRING); */
  • 相关阅读:
    Python学习系列之类与对象(二十三)
    面向过程和面向对象的异同点
    js 数值精确运算使用math.js
    js实现复制 、剪切功能-clipboard.min.js 示例
    css div嵌套层中button的margin-top不起作用解决方法
    IPhone中H5页面用on绑定click无效的解决方法
    This is a good start.
    element之input输入搜索联想框
    vue + element-ui 国际化实现
    async/await 处理多个网络请求同步问题
  • 原文地址:https://www.cnblogs.com/banshaohuan/p/5142068.html
Copyright © 2011-2022 走看看