5

プロジェクトでPHPExcelを使用しており、Excelシートのセルのスタイルを設定する必要があります。

私が行ったことは、次のようなPHPExcelスタイルのオブジェクトを作成することです。

$style['red_text'] = new PHPExcel_Style();

次に、このスタイルの集合関数を使用して、次のようにオブジェクトを埋めます。

$style['red_text']->getFont()
        ->applyFromArray(
                array('name'=>'Arial')
         )

現在、このスタイルオブジェクトをセルで使用しようとしています。私は次のようにapplyFromArray関数を使用しようとしました:

$objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($x, $y)->applyFromArray( $style['red_text'] );

これは私が思うにそれをする方法ではありません。私にとって、これはスタイルを割り当てるための最も読みやすく一貫した方法ですが、PHPExcelに精通している人が適切な方法に私を導くことができれば、私は大いに義務付けられます!

PSフォーマットをすみません。これは私の最初の投稿です:)

編集:これでエラーが見つかりました:"Invalid style array passed" これは、スタイルオブジェクトを間違って作成していることを意味しますか?

4

2 に答える 2

12

配列からの適用は、スタイルオブジェクトからではなく、文字通り配列からの適用です。

$style['red_text'] = array(
    'font' => array(
        'name' => 'Arial',
        'color' => array(
            'rgb' => 'FF0000'
        )
    ),
);
$objPHPExcel->getActiveSheet()
    ->getStyleByColumnAndRow($x, $y)
    ->applyFromArray($style['red_text']);

または代わりに:

$style['red_text'] = array(
    'name' => 'Arial',
    'color' => array(
        'rgb' => 'FF0000'
    )
);
$objPHPExcel->getActiveSheet()
    ->getStyleByColumnAndRow($x, $y)
    ->getFont()
    ->applyFromArray($style['red_text']);
于 2012-10-16T16:03:11.423 に答える
2

これを行うこともできます:

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:B30')
    ->getFont()
    ->applyFromArray(
        array(
            'name' => 'Arial',
            'color' => array(
                'rgb' => 'FF0000'
            )
        )
    );
于 2013-09-03T05:55:17.180 に答える