2012-11-09 14 views
15

Sto usando questo codice Per i dati delle colonne E Impostare per allineare a destra, ma il suo non mi mostra effettuoPhp Excel impostare l'allineamento dei dati colonna intero non funziona

$objPHPExcel->getActiveSheet() 
    ->getStyle('E') 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 

invece di 'E' se scrivo E6 allora visualizzare Dati cella E6 a destra.

$objPHPExcel->getActiveSheet() 
    ->getStyle('E6') 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 

risposta

40

Sei corretto: gli stili di riga e colonna non sono supportati da PHPExcel.

cellulare stile è, ma è anche possibile impostare lo stile da un intervallo di celle:

$objPHPExcel->getActiveSheet() 
    ->getStyle('E1:E256') 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 
+0

ma come ho cerca e trova in alcuni esempi di altri siti e fornisce l'esempio con l'allineamento di colonne intere. Ecco perché ero confuso. Stavo pensando che mi manca qualcosa. Grazie per la risposta. –

+0

@pankil - Se hai un esempio di impostazione di uno stile di riga o colonna (ad esempio allineamento), forniscilo; e sarò corretto –

+0

La risposta di Jijesh Cherrai è una risposta migliore. –

0

Ho confermato questo pure durante il tentativo di applicare determinati formati numerici a colonne: non è possibile applicare uno stile a un colonna - getStyle ('E'), è necessario specificare l'intervallo - getStyle ('E1: E50').

$objPHPExcel->getActiveSheet()->fromArray($row_array, NULL, 'A2'); 
$rows = count($row_array); 
$objPHPExcel->getActiveSheet()->getStyle('C2:C'.$rows)->getNumberFormat()->setFormatCode('000000000'); 

Questo codice sinistra-pad i numeri nella colonna C con zeri

+0

è passato un po 'di tempo ma mi sono imbattuto in questa domanda e questo funziona ** $ activeSheet-> getStyle (' A ') -> getAlignment() -> setHorizontal (' right '); ** –

+0

anche questo ** $ activeSheet -> getStyle ('A') -> getFill() -> setFillType ('solido') -> getStartColor() -> setARGB ('00FF0000'); **. Sto iniziando a pensare che forse è stato aggiunto alle versioni successive dal 2013. Sì, penso che sia così; Il post di Jijesh è corretto e dal 2014 –

5

provare questo codice. Funziona bene. E ho confermato.

$activeSheet = $phpExcelObject->getActiveSheet(); 
    //.. 
    //... 
    $activeSheet->getStyle("E") 
       ->getAlignment() 
       ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 

Questo codice allineare la colonna E nella destra orizzontale

+0

Questa è la migliore risposta. –

+0

@KolobCanyon - Questa risposta funziona davvero? Non funziona su nessuno dei codici PHPExcel con cui lavoro con –

+0

@MarkBaker Sì, ho aggiunto le schermate qui: http://stackoverflow.com/questions/35816644/format-the-cells-for-entire-column-in -php-excel –

5

Dal momento che nessuno ha spiegato come stile di un'intera colonna, che faceva parte della questione, ecco il codice:

$lastrow = $objPHPExcel->getActiveSheet()->getHighestRow(); 

$objPHPExcel->getActiveSheet() 
     ->getStyle('E1:E'.$lastrow) 
     ->getAlignment() 
     ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 
Problemi correlati