2011-08-23 85 views
3

我正在使用PHPExcel在我的服務器上生成一些表。或多或少,它一切正常,但是,當我嘗試着色一些行(每隔一行,所以列表將容易可讀)我得到有趣的事情:該行是彩色好的,但只在沒有填充的單元格數據。填充數據的單元格保持白色。PHPExcel:着色細胞?

這裏的代碼我使用

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

我在做什麼錯?

回答

3

我沒有看到任何跳出我的錯誤。粗體字體是否應用於帶有文本的單元格,還是被忽略的整個樣式?如果粗體確實已設置,請嘗試翻轉數組中的「填充」和「字體」順序。不過,我不認爲這應該有所作爲。

您也可以嘗試$sheet->getStyle('A$row:D$row')->...,以便明確設置您使用的單元格範圍的樣式,而不是整行。

+0

嗨,老兄,謝謝,在$片狀>的getStyle( 'A $行:d $行')偉大的工作。我不知道爲什麼它不起作用,但它不再重要。 – Relja

+0

沒問題,很高興幫助。 –