2017-01-16 91 views
0

現在我想爲phpexcel中的單元格設置文本顏色到foreach循環中。 foreach循環是一樣的東西:如何爲單元格phpexcel設置顏色到foreach循環

$redBold = array(
      "font" => array(
       "bold" => true, 
       "color" => array("rgb" => "FF0000"), 
      ), 
     ); 
$row = 5; 
$count = 0 
foreach ($data as $key => $value) { 
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($count++, $row, $value['type']?$value['type']:0); 
    if ($value['type'] == 1) { 
     $objPHPExcel->getActiveSheet()->getStyle($count . $row)->applyFromArray($redBold); 
    } 
} 

這個代碼不明白getStyle($count . $row)因爲$count . $row應該A6 ...有沒有辦法設置文本在這種情況下?請幫忙!

回答

2

當連接$count . $row時,您會得到什麼?

getStyle()預計無論是單元格引用(如A1C3IV256)或單元格區域(如A1:C3B2:D4A2:IV256

你只需連接兩個數字,如0505這對於單元格引用/範圍而言是無意義的

您需要將$count(將其用作列索引)轉換爲實際列地址,然後再連接

$objPHPExcel->getActiveSheet()->getStyle(PHPExcel_Cell::stringFromColumnIndex($count) . $row)->applyFromArray($redBold); 

還請注意,您所使用的遞增運算符遞增列前試圖設置單元格的風格,所以它可能不會給你你想要的單元格引用

+0

我知道'$ count。 $行'不完全,但我不知道如何導致這個問題。我怎樣才能爲'getStyle()'設置正確的值?我想將'0'設置爲'A','1'是將'B'設置到phpexcel列中。 –

+0

您可以使用'PHPExcel_Cell :: stringFromColumnIndex()'獲得列地址,如我的回答 –

+0

所示!幹得好!它正在工作。 –

相關問題