2015-07-03 16 views
5

Cách đặt màu đường viền của ô? tôi đã sử dụng mã này, nhưng nó không làm việc:PHPBạn thiết lập màu đường viền của ô

$objPHPExcel->getActiveSheet() 
       ->getStyle('A1') 
       ->getBorders() 
       ->getAllBorders() 
       ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN) 
       ->getColor() 
       ->setRGB('DDDDDD'); 

Tôi biết applyFromArray() hoạt động tốt. Nhưng tôi không muốn sử dụng nó.

+0

Bạn có chắc chắn rằng đây không hoạt động? Đó là làm việc cho tôi. Hãy thử với một chút màu sắc khác biệt hơn như 'FC2323' ... – ejuhjav

Trả lời

2

Bạn có thể áp dụng màu cho đường viền ô trong khi tạo đường viền.

Xác định phong cách:

$border_style= array('borders' => array('right' => array('style' => 
PHPExcel_Style_Border::BORDER_THICK,'color' => array('argb' => '766f6e'),))); 

Áp dụng phong cách:

$sheet = $objPHPExcel->getActiveSheet(); 
$sheet->getStyle("A2:A40")->applyFromArray($border_style); 

Tham khảo tài liệu hướng dẫn PhpExcel here

+0

Cảm ơn câu trả lời của bạn. Nếu bạn thấy tài liệu, mã của tôi cũng đã hoạt động nhưng không phải vậy. Bạn còn ý kiến ​​nào không? –

+0

Mã của bạn cũng hoạt động tốt. Như @ jjjjav đã nói bạn đã thử với các mã màu khác. Bởi vì 'DDDDDD' rất khó phân biệt trong Xls – ManiMuthuPandi

+1

Tôi cũng đã cố gắng thiết lập đường viền và dựa trên tài liệu tôi đã tìm đến nhiều mã giống như câu hỏi, nhưng tôi đã thử với màu 'FF0000' và nó không hoạt động đối với tôi nhưng phương thức applyFromArray() hoạt động. Đây phải là một lỗi trong PHPExcel. – soger

19

Một hơi muộn, nhưng đối với các hồ sơ, tôi thấy rằng cú pháp này làm việc tốt;

$ActiveSheet->getStyle("A1:Z1")->applyFromArray(
    array(
     'borders' => array(
      'allborders' => array(
       'style' => PHPExcel_Style_Border::BORDER_THIN, 
       'color' => array('rgb' => 'DDDDDD') 
      ) 
     ) 
    ) 
); 

tôi cũng tìm thấy một danh sách đầy đủ các phong cách và các thuộc tính ở đây: http://www.bainweb.com/2012/01/phpexcel-style-reference-complete-list.html

Các vấn đề liên quan