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 回答