web-dev-qa-db-fra.com

Php Excel définir l'alignement des données de la colonne entière ne fonctionne pas

J'utilise ce code pour que les données de la colonne E soient alignées à droite mais ne me montrent pas d'effet

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

au lieu de "E" si j'écris E6, il affiche les données de la cellule E6 à droite.

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

Vous avez raison: les styles de ligne et de colonne ne sont pas pris en charge par PHPExcel.

Le style des cellules l'est, mais vous pouvez également définir le style en fonction d'une plage de cellules:

$objPHPExcel->getActiveSheet()
    ->getStyle('E1:E256')
    ->getAlignment()
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
44
Mark Baker

Étant donné que personne n'a expliqué comment coiffer une colonne entière, ce qui faisait partie de la question, voici le code:

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

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

Essayez ce code. Cela fonctionne bien et je l'ai confirmé.

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

Ce code aligne la colonne E en horizontal à droite

6
Jijesh Cherrai

Je l'ai également confirmé en essayant d'appliquer certains formats de nombres aux colonnes: vous ne pouvez pas appliquer un style à une colonne - getStyle ('E'), vous devez spécifier la plage - getStyle ('E1: E50').

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

Ce code remplira les chiffres de la colonne C avec des zéros

0
Jimbo