我在一个项目中使用PHPExcel,需要设置excel表格单元格的样式.
我所做的是创建一个像这样的PHPExcel样式对象:
$style['red_text'] = new PHPExcel_Style();
Run Code Online (Sandbox Code Playgroud)
然后我使用此样式上的set函数来填充对象,如下所示:
$style['red_text']->getFont()
->applyFromArray(
array('name'=>'Arial')
)
Run Code Online (Sandbox Code Playgroud)
现在我试图在单元格中使用此样式对象.我尝试使用applyFromArray函数,如下所示:
$objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($x, $y)->applyFromArray( $style['red_text'] );
这不是我不想的方式.对我而言,这是分配样式的最可读和最一致的方式,但如果一个更熟悉PHPExcel的人可以指导我采用正确的方法,我将非常感激!
PS原谅格式; 这是我的第一篇文章 :)
编辑:刚刚发现错误:这"Invalid style array passed"
是否意味着我正在错误地创建样式对象?
Mar*_*ker 12
从数组应用实际上是从数组应用,而不是从样式对象应用
$style['red_text'] = array(
'font' => array(
'name' => 'Arial',
'color' => array(
'rgb' => 'FF0000'
)
),
);
$objPHPExcel->getActiveSheet()
->getStyleByColumnAndRow($x, $y)
->applyFromArray($style['red_text']);
Run Code Online (Sandbox Code Playgroud)
或者:
$style['red_text'] = array(
'name' => 'Arial',
'color' => array(
'rgb' => 'FF0000'
)
);
$objPHPExcel->getActiveSheet()
->getStyleByColumnAndRow($x, $y)
->getFont()
->applyFromArray($style['red_text']);
Run Code Online (Sandbox Code Playgroud)