web-dev-qa-db-ja.com

PHP Excelが列全体のデータ配置を機能しない

私は右列に設定されたE列データにこのコードを使用していますが、効果は表示されません

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

「E」の代わりにE6を書き込むと、右にE6セルデータが表示されます。

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

正しい:行と列のスタイルはPHPExcelではサポートされていません。

セルのスタイルはありますが、セルの範囲によってスタイルを設定することもできます:

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

質問の一部である列全体をスタイルする方法を説明した人はいなかったため、次のコードを使用します。

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

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

このコードを試してください。それはうまくいきます。そして私は確認しました。

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

このコードは、列Eを水平方向に右に揃えます

6
Jijesh Cherrai

特定の数値形式を列に適用しようとしているときにもこれを確認しました:スタイルを列に適用できません-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の数字にゼロを左詰めします。

0
Jimbo