PHPExcel में पृष्ठभूमि सेल रंग सेट करें


93

PHPExcel में XLS दस्तावेज़ बनाते समय सक्रिय सेल में विशिष्ट रंग कैसे सेट करें?


मैं इसे मुन्तशिर अकॉन के समाधान के साथ पूरा करता हूं। 33 वोटों के साथ नीचे देखें (अभी)।
लुइसाओ

जवाबों:


146
$sheet->getStyle('A1')->applyFromArray(
    array(
        'fill' => array(
            'type' => PHPExcel_Style_Fill::FILL_SOLID,
            'color' => array('rgb' => 'FF0000')
        )
    )
);

स्रोत: http://bayu.freelancer.web.id/2010/07/16/phpexcel-advanced-read-write-excel-made-simple/


5
यह 2013-10-17 तक गलत सिंटैक्स था। मैंने सही सिंटैक्स को प्रतिबिंबित करने के लिए संपादित किया है।
मैट हम्फ्री

एक्सेल लारवेल लाइब्रेरी में बैकग्राउंड कलर कैसे सेट करें?
OPV

83
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');

यहां छवि विवरण दर्ज करें


6
आपके कार्य ठीक हैं, लेकिन आप वैश्विक उपयोग कर रहे हैं, और यह एक वास्तविक त्रुटि है ... आपको PHP5 सुविधाओं का उपयोग करना चाहिए। इसके बजाय, आप इस तरह के रूप में एक लैम्ब्डा समारोह की कोशिश कर सकते eval.in/39136 :)
Cito

35

यह कोड आपके लिए काम करना चाहिए:

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

लेकिन अगर आप इसे बार-बार उपयोग करने से परेशान करते हैं, तो मैं उपयोग करने की सलाह देता हूं applyFromArray


इस समाधान ने मेरे लिए काम किया। मैं applyFromArray की कोशिश करता हूं, लेकिन कुछ भी नहीं होता है।
लुइसाओ

11

यह हमेशा चल रहा है!

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


2
कुछ php संस्करण में विशेषता वर्ग पर लाइन नहीं तोड़ सकते हैं। पुराना संस्करण।
रोजेरियो डी मोरेस

2
जरूरी! $ शीट की तरह $ objPHPExcel ऑब्जेक्ट क्लास PHPExcel से परिभाषित है। आपको तत्काल (नए PHPExcel () परिभाषित) पर उपयोग करने की आवश्यकता है।
रोजेरियो डी मोरेस

$ objPHPExcel-> getActiveSheet () -> getStyle ( 'ए' $ पंक्ति।।। ': जी' $ पंक्ति) -> getFill () -> setFillType (PHPExcel_Style_Fill :: FILL_SOLID) -> getStartColor () -> setRGB ( ' FF0000 ');
डेफकॉन १

10

ऐसा लगता है applyFromArrayकि अभी एक बग है जो रंग स्वीकार नहीं करेगा, लेकिन यह मेरे लिए काम करता है:

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

1
/ @ User198003 प्रदान की समाधान प्रयुक्त: हालांकि इसे और अधिक सुरुचिपूर्ण समाधान है (जैसा कि मैंने OOP तरीका पसंद करते हैं) यह मेरे लिए काम किया नहीं था
Aurimas

6

यहाँ है कि आप इसे कैसे करते हैं PHPSpreadsheet, का नवीनतम संस्करणPHPExcel

$spreadsheet = new Spreadsheet();

$spreadsheet->getActiveSheet()->getStyle('A1:F1')->applyFromArray([
    'fill' => [
            'fillType' => Fill::FILL_SOLID,
            'startColor' => [
                'argb' => 'FFDBE2F1',
            ]           
    ],
]);

वैकल्पिक दृष्टिकोण:

$spreadsheet->getActiveSheet()
    ->getStyle('A1:F1')
    ->getFill()
    ->setFillType(Fill::FILL_SOLID)
    ->getStartColor()->setARGB('FFDBE2F1');




0

आप सेल और पंक्तियों पर आसानी से रंग लगा सकते हैं।

$sheet->cell(1, function($row) 
{ 
  $row->setBackground('#CCCCCC'); 
});

$sheet->row(1, ['Col 1', 'Col 2', 'Col 3']); 
$sheet->row(1, function($row) 
{ 
  $row->setBackground('#CCCCCC'); 
});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.