2013-06-26 16 views
41

Sto lavorando in PHPExcel. Sono principiante. Quando uso il seguente codice e funziona correttamente.Imposta colore carattere, faccia carattere e dimensione carattere in PHPExcel

$phpExcel = new PHPExcel(); 

$phpExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true) 
           ->setName('Verdana') 
           ->setSize(10) 
           ->getColor()->setRGB('6F6F6F'); 

Ma quando sto usando il seguente codice e non si ottiene il risultato atteso come sopra.

$phpFont = new PHPExcel_Style_Font(); 
$phpFont->setBold(true); 
$phpFont->setName('Verdana'); 
$phpFont->setSize(15); 

$phpColor = new PHPExcel_Style_Color(); 
$phpColor->setRGB('FF0000'); 

$phpExcel->getActiveSheet()->getStyle('A1')->setFont($phpFont); 
$phpExcel->getActiveSheet()->getStyle('A1')->getFont()->setColor($phpColor); 

Please help me cosa sto facendo di sbagliato nel codice di cui sopra.

Grazie in anticipo!

risposta

97

Si consiglia di iniziare a leggere the documentation (4.6.18 Formattazione celle). Quando si applica molta formattazione è meglio usare applyFromArray() Secondo la documentazione, questo metodo dovrebbe anche essere più veloce quando si impostano molte proprietà di stile. C'è un allegato dove puoi trovare tutte le chiavi possibili per questa funzione.

Questo funziona per voi:

$phpExcel = new PHPExcel(); 

$styleArray = array(
    'font' => array(
     'bold' => true, 
     'color' => array('rgb' => 'FF0000'), 
     'size' => 15, 
     'name' => 'Verdana' 
    )); 

$phpExcel->getActiveSheet()->getCell('A1')->setValue('Some text'); 
$phpExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray); 
+1

ho spulciato la documentazione e non posso trovare un elenco di opzioni di stile per le celle ovunque. Qualche idea su dove si potrebbero ottenere quelle? – Skytiger

+5

All'interno del documento [documentazione per sviluppatori PHPExcel] (http://phpexcel.codeplex.com/releases/view/119187) c'è un ** Appendice A: Chiavi di array valide per lo stile 'applyFromArray()' ** dove trovi tutto i tasti. E 'questo quello che stai cercando? – Max

+0

Grazie, sì, era quello che intendevo :) – Skytiger

Problemi correlati