2017-01-16 80 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

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

相关问题