PHPExcel sets cell border color

How to set cell border color? I used this code, but it does not work:

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

I know applyFromArray() works fine. But I do not want to use it.

+9
source share
5 answers

A little late, but for the record, I found that this syntax worked fine,

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

I also found a complete list of styles and attributes here: http://www.bainweb.com/2012/01/phpexcel-style-reference-complete-list.html

+22
source

You can apply color to the border of the cells when creating the border.

Define style:

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

Apply style:

 $sheet = $objPHPExcel->getActiveSheet(); $sheet->getStyle("A2:A40")->applyFromArray($border_style); 

Refer to PhpExcel documentation here

+7
source

The default style for the entire workbook (all worksheets) can be set as:

 $objPHPExcel->getDefaultStyle() ->getBorders() ->getTop() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getDefaultStyle() ->getBorders() ->getBottom() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getDefaultStyle() ->getBorders() ->getLeft() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getDefaultStyle() ->getBorders() ->getRight() ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 

You can also set how with applyFromArray()

 $styleArray = array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN ) ) ); $objPHPExcel->getDefaultStyle()->applyFromArray($styleArray); 
+1
source

The site is closed, so here is the full list of PHPExcel styles:

/ * PHPExcel Object * /

 /* Get the default Style object */ (PHPExcel_Style) $style = ((PHPExcel) $excel)->getDefaultStyle() 

/ * PHPExcel_Cell Object * /

 /* Get the Style object for a Cell */ (PHPExcel_Style) $style = ((PHPExcel) $excel)->getStyle('A1') 

/ * Styles * /

 /* Apply new Style from array */ $style->applyFromArray( array( 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_GENERAL = 'general' PHPExcel_Style_Alignment::HORIZONTAL_LEFT = 'left' PHPExcel_Style_Alignment::HORIZONTAL_RIGHT = 'right' PHPExcel_Style_Alignment::HORIZONTAL_CENTER = 'center' PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS = 'centerContinuous' PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY = 'justify' 'vertical' => PHPExcel_Style_Alignment::VERTICAL_BOTTOM = 'bottom' PHPExcel_Style_Alignment::VERTICAL_TOP = 'top' PHPExcel_Style_Alignment::VERTICAL_CENTER = 'center' PHPExcel_Style_Alignment::VERTICAL_JUSTIFY = 'justify' 'rotation' => (int) 'wrap' => (boolean) 'shrinkToFit' => (boolean) 'indent' => (int) ) 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_NONE = 'none'; PHPExcel_Style_Border::BORDER_DASHDOT = 'dashDot'; PHPExcel_Style_Border::BORDER_DASHDOTDOT = 'dashDotDot'; PHPExcel_Style_Border::BORDER_DASHED = 'dashed'; PHPExcel_Style_Border::BORDER_DOTTED = 'dotted'; PHPExcel_Style_Border::BORDER_DOUBLE = 'double'; PHPExcel_Style_Border::BORDER_HAIR = 'hair'; PHPExcel_Style_Border::BORDER_MEDIUM = 'medium'; PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT = 'mediumDashDot'; PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot'; PHPExcel_Style_Border::BORDER_MEDIUMDASHED = 'mediumDashed'; PHPExcel_Style_Border::BORDER_SLANTDASHDOT = 'slantDashDot'; PHPExcel_Style_Border::BORDER_THICK = 'thick'; PHPExcel_Style_Border::BORDER_THIN = 'thin'; 'color' => array( 'rgb' => PHPExcel_Style_Color::COLOR_BLACK = 'FF000000'; PHPExcel_Style_Color::COLOR_WHITE = 'FFFFFFFF'; PHPExcel_Style_Color::COLOR_RED = 'FFFF0000'; PHPExcel_Style_Color::COLOR_DARKRED = 'FF800000'; PHPExcel_Style_Color::COLOR_BLUE = 'FF0000FF'; PHPExcel_Style_Color::COLOR_DARKBLUE = 'FF000080'; PHPExcel_Style_Color::COLOR_GREEN = 'FF00FF00'; PHPExcel_Style_Color::COLOR_DARKGREEN = 'FF008000'; PHPExcel_Style_Color::COLOR_YELLOW = 'FFFFFF00'; PHPExcel_Style_Color::COLOR_DARKYELLOW = 'FF808000'; ) ) 'left' => // See 'allborders' 'top' => // See 'allborders' 'right' => // See 'allborders' 'bottom' => // See 'allborders' 'diagonal' => 'diagonaldirection' => ) 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_NONE = 'none'; PHPExcel_Style_Fill::FILL_SOLID = 'solid'; PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR = 'linear'; PHPExcel_Style_Fill::FILL_GRADIENT_PATH = 'path'; PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN = 'darkDown'; PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY = 'darkGray'; PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID = 'darkGrid'; PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal'; PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS = 'darkTrellis'; PHPExcel_Style_Fill::FILL_PATTERN_DARKUP = 'darkUp'; PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL = 'darkVertical'; PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 = 'gray0625'; PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 = 'gray125'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN = 'lightDown'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY = 'lightGray'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID = 'lightGrid'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP = 'lightUp'; PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL = 'lightVertical'; PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY = 'mediumGray'; 'rotation' => (double) 'startcolor' => // See 'borders' => 'allborders' => 'color' 'endcolor' => // See 'borders' => 'allborders' => 'color' 'color' => // See 'borders' => 'allborders' => 'color' ) 'font' => array( 'name' => 'Arial' 'Calibri' // etc. 'bold' => (boolean) 'italic' => (boolean) 'superScript' => (boolean) 'subScript' => (boolean) 'underline' => (boolean) 'strike' => (boolean) 'size' => (float) 'color' => // See 'borders' => 'allborders' => 'color' ) 'numberformat' => 'protection' => ) ) 
0
source

Set the border without applyFromArray() as follows.

  $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); 

Border Style List

 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' 

For more PHPExcel

0
source

All Articles