2011-08-23 3 views
3

J'utilise le PHPExcel pour générer des feuilles sur mon serveur. Plus ou moins tout fonctionne bien, mais, quand j'essaye de colorer certaines lignes (tous les deux rangs, donc la liste serait facilement lisible) je deviens drôle: la ligne est colorée ok, mais seulement sur les cellules qui ne sont pas remplies Les données. Les cellules remplies de données restent blanches.PHPExcel: Coloration des cellules?

Code est ici que j'utilise

  $ind = ($ind + 1) % 2; 

      if($ind == 1) 
      { 
       $style_header = array(     
       'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID, 
        'color' => array('rgb'=>'CCC'), 
       ), 
       'font' => array(
        'bold' => true, 
       ) 
       ); 
       $sheet->getStyle($row)->applyFromArray($style_header); 

      } 

      $sheet->getCellByColumnAndRow(0, $row)->setValue($item['qty']); 
      $sheet->getCellByColumnAndRow(1, $row)->setValueExplicit($item['name']); 
      $sheet->getCellByColumnAndRow(2, $row)->setValueExplicit($item['size']); 
      $sheet->getCellByColumnAndRow(3, $row)->setValueExplicit($item['color']); 

Qu'est-ce que je fais mal?

Répondre

3

Je ne vois rien qui me saute aux yeux comme étant faux. La police en gras est-elle appliquée aux cellules avec du texte ou le style entier est-il ignoré? Si le gras est activé, essayez d'inverser l'ordre de 'fill' et de 'font' dans le tableau. Je ne pense pas que cela devrait faire la différence, cependant.

Vous pouvez également essayer $sheet->getStyle('A$row:D$row')->..., juste pour définir explicitement le style de la plage de cellules que vous utilisez à la place de la ligne entière.

+0

Hey man, merci pour la pointe, le $ feuillet-> getStyle ('Une ligne de $: D $ row') a très bien fonctionné. Je ne sais pas pourquoi ça ne marcherait pas, mais ça n'a plus d'importance. – Relja

+0

Pas de problème, content que cela ait aidé. –

Questions connexes