Php Excel设置整列数据对齐不起作用

时间:2012-11-09 11:17:52

标签: php phpexcel

我正在使用此代码对于E列数据设置为右对齐但它没有显示我的效果

$objPHPExcel->getActiveSheet()
    ->getStyle('E')
    ->getAlignment()
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
如果我写E6那么

而不是'E',那么它会向右显示E6单元数据。

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

4 个答案:

答案 0 :(得分:44)

你是对的:PHPExcel不支持行和列样式。

单元格样式,但您也可以通过一系列单元格设置样式:

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

答案 1 :(得分:8)

由于没有人解释如何设置整个列的样式,这是问题的一部分,这里是代码:

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

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

答案 2 :(得分:6)

试试这段代码。它运作良好。我已确认。

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

此代码将列E对齐水平右侧

答案 3 :(得分:0)

我在尝试将某些数字格式应用于列时也确认了这一点:您无法将样式应用于列 - getStyle('E'),您必须指定范围 - 的getStyle( 'E1:E50')

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

此代码将使用零

左键填充C列中的数字