我正在使用此代码对于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);
答案 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列中的数字