pankil thakkar
pankil thakkar

Reputation: 411

Php Excel set whole column data alignment not working

I am Using this code For E column data set to right align but Its not showing me effect

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

instead of 'E' if i write E6 then it display E6 cell data to right.

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

Upvotes: 19

Views: 76331

Answers (4)

z3d0
z3d0

Reputation: 413

Since nobody explained how to style an entire column, which was part of the question, here's the code:

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

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

Upvotes: 10

Jijesh Cherayi
Jijesh Cherayi

Reputation: 1125

Try this code. It works well.And I have confirmed.

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

This code align the column E in horizontal right

Upvotes: 8

Jimbo
Jimbo

Reputation: 497

I have confirmed this as well while trying to apply certain number formats to colums: you cannot apply a style to a column - getStyle('E'), you must specify the range - getStyle('E1:E50').

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

This code will left-pad the numbers in column C with zeros

Upvotes: 0

Mark Baker
Mark Baker

Reputation: 212412

You're correct: row and column styles aren't supported by PHPExcel.

Cell styling is, but you can also set style by a range of cells:

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

Upvotes: 50

Related Questions