PHPExcel设置单元格的边框颜色

Mun*_*kon 11 phpexcel

如何设置单元格的边框颜色?我使用了这段代码,但它不起作用:

$objPHPExcel->getActiveSheet()
                ->getStyle('A1')
                ->getBorders()
                ->getAllBorders()
                ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)
                ->getColor()
                ->setRGB('DDDDDD');
Run Code Online (Sandbox Code Playgroud)

我知道applyFromArray()工作正常.但我不想用它.

Gje*_*ahl 27

有点晚了,但是为了记录,我发现这个语法工作得很好;

$ActiveSheet->getStyle("A1:Z1")->applyFromArray(
    array(
        'borders' => array(
            'allborders' => array(
                'style' => PHPExcel_Style_Border::BORDER_THIN,
                'color' => array('rgb' => 'DDDDDD')
            )
        )
    )
);
Run Code Online (Sandbox Code Playgroud)

我还在这里找到了完整的样式和属性列表:http://www.bainweb.com/2012/01/phpexcel-style-reference-complete-list.html


Man*_*ndi 9

您可以在创建边框时将颜色应用于单元格边框。

定义样式:

$border_style= array('borders' => array('right' => array('style' => 
PHPExcel_Style_Border::BORDER_THICK,'color' => array('argb' => '766f6e'),)));
Run Code Online (Sandbox Code Playgroud)

适用风格:

$sheet = $objPHPExcel->getActiveSheet();
$sheet->getStyle("A2:A40")->applyFromArray($border_style);
Run Code Online (Sandbox Code Playgroud)

在这里参考PhpExcel文档


Nis*_*K.R 5

设置边框applyFromArray()不可以这样。

    $objPHPExcel->getActiveSheet()
                ->getStyle('A1')
                ->getBorders()
                ->getBottom()
                ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

    $objPHPExcel->getActiveSheet()
                ->getStyle('A1')
                -> getBorders()
                ->getLeft()
                ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

    $objPHPExcel->getActiveSheet()
                ->getStyle('A1')
                ->getBorders()
                ->getRight()
                ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

    $objPHPExcel->getActiveSheet()
                ->getStyle('A1')
                ->getBorders()
                ->getBottom()
                ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);


Run Code Online (Sandbox Code Playgroud)

边框样式列表是

BORDER_NONE - 'none'
BORDER_DASHDOT - 'dashDot'
BORDER_DASHDOTDOT - 'dashDotDot'
BORDER_DASHED - 'dashed'
BORDER_DOTTED - 'dotted'
BORDER_DOUBLE - 'double'
BORDER_HAIR - 'hair'
BORDER_MEDIUM - 'medium'
BORDER_MEDIUMDASHDOT - 'mediumDashDot'
BORDER_MEDIUMDASHDOTDOT - 'mediumDashDotDot'
BORDER_MEDIUMDASHED - 'mediumDashed'
BORDER_SLANTDASHDOT - 'slantDashDot'
BORDER_THICK - 'thick'
BORDER_THIN - 'thin'
Run Code Online (Sandbox Code Playgroud)

有关更多的PHPExcel