web-dev-qa-db-fra.com

Couleur PHPExcel sur une ligne spécifique

Je travaille actuellement avec PHPExcel et j'essaie de donner une couleur à une ligne spécifique, j'ai déjà lu Définir la couleur de la cellule d'arrière-plan dans PHPExcel et j'ai essayé toutes ces options. Sans chance!

Peut-être que je fais quelque chose de mal, mais voilà:

           //Table
    $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('B2', 'Beller ')
                ->setCellValue('D2', 'Beller nummer')
                ->setCellValue('F2', 'Datum')
                ->setCellValue('H2', 'ontvanger naam')
                ->setCellValue('J2', 'ontvanger nummer')
                ->setCellValue('L2', 'Billing seconds')
                ->setCellValue('N2', 'Direction')
    // array 

                ->setCellValue('B3', 'hi')
                ->setCellValue('D3', 'hi')
                ->setCellValue('F3', 'hi')
                ->setCellValue('H3', 'hi')
                ->setCellValue('J3', 'ontvanger nummer')
                ->setCellValue('L3', 'Billing seconds')
                ->setCellValue('N3', 'Direction');          

                //Werkt niet            }


    // breedte + kopstukken dikgedrukt
    $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('D2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('F2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('H2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('J2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('L2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('N2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20);
    $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getStyle('N2')->applyFromArray(
        array(
            'fill' => array(
                'type' => PHPExcel_Style_Fill::FILL_SOLID,
                'color' => array('rgb' => 'E05CC2')
            )
        )

);

cela me donne N2 en couleur, mais je veux que toutes les lignes de N remplies de texte soient colorées;)

10
user4433485

Vous ne pouvez pas styliser une ligne dans PHPExcel, uniquement une cellule ou une plage de cellules

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:E1')
    ->getFill()
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
    ->getStartColor()
    ->setARGB('FF808080');

ou

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:E1')
    ->applyFromArray(
        array(
            'fill' => array(
                'type' => PHPExcel_Style_Fill::FILL_SOLID,
                'color' => array('rgb' => 'E05CC2')
            )
        )
    );

Définira le style de remplissage d'arrière-plan pour les cellules A1 à E1

32
Mark Baker