2015-01-16 7 views
9

मैं वर्तमान में PHPExcel के साथ काम कर रहा हूं और मैं 1 विशिष्ट पंक्ति रंग देने की कोशिश कर रहा हूं, मैंने पहले ही Set Background cell color in PHPExcel पढ़ा है और मैंने उन सभी विकल्पों को आजमाया है। भाग्य के बिना!विशिष्ट पंक्ति के लिए PHPExcel रंग

शायद मैं कुछ गलत करते हैं, लेकिन यहाँ यह जाता है:

  //Table 
    $objPHPExcel->setActiveSheetIndex(0) 
       ->setCellValue('B2', 'Beller ') 
       ->setCellValue('D2', 'Beller nummer') 
       ->setCellValue('F2', 'Datum') 
       ->setCellValue('H2', 'ontvanger naam') 
       ->setCellValue('J2', 'ontvanger nummer') 
       ->setCellValue('L2', 'Billing seconds') 
       ->setCellValue('N2', 'Direction') 
    // array 

       ->setCellValue('B3', 'hi') 
       ->setCellValue('D3', 'hi') 
       ->setCellValue('F3', 'hi') 
       ->setCellValue('H3', 'hi') 
       ->setCellValue('J3', 'ontvanger nummer') 
       ->setCellValue('L3', 'Billing seconds') 
       ->setCellValue('N3', 'Direction');   

       //Werkt niet   } 


    // breedte + kopstukken dikgedrukt 
    $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('D2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('F2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('H2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('J2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('L2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('N2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getStyle('N2')->applyFromArray(
     array(
      'fill' => array(
       'type' => PHPExcel_Style_Fill::FILL_SOLID, 
       'color' => array('rgb' => 'E05CC2') 
      ) 
     ) 

); 

यह मेरे एन 2 रंग देता है, लेकिन मैं एन में सभी पंक्तियों पाठ से भरा है, रंग किया जा चाहते हैं;)

+0

के लिए पृष्ठभूमि भरने की शैली सेट करेगा क्या आपने 'applyFromArray' विधि के साथ प्रयास किया है? – Brewal

+0

मैंने अभी किया है, और यह काम करता है लेकिन केवल एन 2 के लिए सभी पंक्तियों के लिए नहीं, मैं वास्तव में एन में सभी फील्ड को अपने पोस्ट –

+0

संपादित करने के लिए रंगीन होना चाहता हूं, इसे अपनी आखिरी पंक्ति से पहले जोड़ें: '$ objPHPExcel-> getActiveSheet() -> getStyle ('N2') -> getFill() -> setFillType (PHPExcel_Style_Fill :: FILL_SOLID); ' – briosheje

उत्तर

30

आप नहीं कर सकते हैं PHPExcel में एक पंक्ति, केवल किसी कक्ष या कक्षों

$objPHPExcel->getActiveSheet() 
    ->getStyle('A1:E1') 
    ->getFill() 
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID) 
    ->getStartColor() 
    ->setARGB('FF808080'); 

या

$objPHPExcel->getActiveSheet() 
    ->getStyle('A1:E1') 
    ->applyFromArray(
     array(
      'fill' => array(
       'type' => PHPExcel_Style_Fill::FILL_SOLID, 
       'color' => array('rgb' => 'E05CC2') 
      ) 
     ) 
    ); 
की एक सीमा शैली

कोशिकाओं ए 1 से ई 1

+0

बात यह है कि यह डेटपिक परिणामों के साथ काम कर रहा है, अगर कोई तारीख चुनता है, तो वह उस तारीख से सभी कॉल इतिहास देता है, जो एक सरणी में उपयोग किए जाने वाले चर से है, बात यह है कि मुझे पंक्ति एन पर सभी भरे हुए कोशिकाओं को रंगना होगा –

+0

सभी __filled__ कोशिकाएं? या सभी कोशिकाओं? –

+0

एन wich से सभी कोशिकाओं सरणी से डेटा से भरे हुए हैं। तो कल्पना करें, वे कल से कॉल इतिहास लोड करते हैं और इसमें 12 कॉल हैं, मुझे एन, –