2011-07-21 35 views

Trả lời

1
$objPHPExcel 
    ->getActiveSheet() 
    ->getStyle('A1') 
    ->getFill() 
    ->getStartColor() 
    ->getRGB(); 
8

Có vẻ như có một lỗi với applyFromArray ngay bây giờ rằng sẽ không chấp nhận màu sắc, nhưng điều này đã làm việc cho tôi:

$objPHPExcel 
    ->getActiveSheet() 
    ->getStyle('A1') 
    ->getFill() 
    ->getStartColor() 
    ->setRGB('FF0000'); 
+1

Mặc dù nó là giải pháp thanh lịch hơn (như tôi thích cách OOP) nó không làm việc cho tôi:/ Được sử dụng @ user198003 cung cấp giải pháp – aur1mas

67
function cellColor($cells,$color){ 
    global $objPHPExcel; 

    $objPHPExcel->getActiveSheet()->getStyle($cells)->getFill()->applyFromArray(array(
     'type' => PHPExcel_Style_Fill::FILL_SOLID, 
     'startcolor' => array(
      'rgb' => $color 
     ) 
    )); 
} 

cellColor('B5', 'F28A8C'); 
cellColor('G5', 'F28A8C'); 
cellColor('A7:I7', 'F28A8C'); 
cellColor('A17:I17', 'F28A8C'); 
cellColor('A30:Z30', 'F28A8C'); 

enter image description here

+6

Chức năng của bạn là ok, nhưng bạn đang sử dụng toàn cầu, và đó là một lỗi thực sự ... Bạn nên tận dụng các tính năng của PHP5. Thay vào đó, bạn có thể thử một hàm lambda như https://eval.in/39136 :) – Cito

+0

cũng được thực hiện, nhờ nó thực sự hoạt động. –

8

Điều này luôn chạy!

$sheet->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setRGB('FF0000');

+2

Trong một số phiên bản php không thể ngắt dòng tại lớp thuộc tính. Phiên bản cũ. –

+2

** QUAN TRỌNG! Hơn $ objPHPExcel như $ sheet là một định nghĩa từ lớp đối tượng PHPExcel. Bạn cần sử dụng như bạn đã khởi tạo (tại PHPExcel mới() xác định). ** –

26

Mã này nên làm việc cho bạn:

$PHPExcel->getActiveSheet() 
     ->getStyle('A1') 
     ->getFill() 
     ->setFillType(PHPExcel_Style_Fill::FILL_SOLID) 
     ->getStartColor() 
     ->setRGB('FF0000') 

Nhưng nếu bạn bận tâm sử dụng này hơn và hơn nữa, tôi khuyên bạn nên sử dụng applyFromArray.

4
$objPHPExcel 
->getActiveSheet() 
->getStyle('A1') 
->getFill() 
->setFillType(PHPExcel_Style_Fill::FILL_SOLID) 
->getStartColor() 
->setRGB('colorcode'); //i.e,colorcode=D3D3D3 
Các vấn đề liên quan