2011-07-21 84 views

答えて

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

バグはそれが色を受け入れないだろうが、これは私のために働いたが、今applyFromArrayでありますように思える:

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

より優雅なソリューションです(私はOOP方法を好むので)それは私のために働いていませんでした:/ 使用された@ user198003提供されたソリューション – 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

あなたの機能は大丈夫ですが、あなたはグローバルを使用しています。 PHP5の機能を利用する必要があります。代わりに、https://eval.in/39136のようなラムダ関数を試すことができます:) – Cito

+0

本当にうまくいきました。 –

8

これは常に実行中です!

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

+2

一部のPHPバージョンでは、属性クラスの行を改行できません。旧バージョン。 –

+2

**重要! $ objPHPExcelより$ sheetはオブジェクトクラスPHPExcelの定義です。インスタンス化されたような使い方が必要です(新しいPHPExcel()定義時)** –

26

このコードは、あなたのために働く必要があります。

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

しかし、あなたは何度も何度もこれを使ってわざわざ場合、私はapplyFromArrayを使用することをお勧めします。

4
$objPHPExcel 
->getActiveSheet() 
->getStyle('A1') 
->getFill() 
->setFillType(PHPExcel_Style_Fill::FILL_SOLID) 
->getStartColor() 
->setRGB('colorcode'); //i.e,colorcode=D3D3D3 
関連する問題