如何通过PHPExcel更改生成的Excel中的行或特定单元格的字体

时间:2014-06-13 00:11:04

标签: php phpexcel

我正在使用PHPExcel创建Excel,但遗憾的是我无法更改特定单元格或特定行的字体。我甚至无法大胆。

我无论如何通过

更改了整个Excel的字体和大小
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(14);

我尝试了这个,但似乎没有任何效果: -

$objPHPExcel->getActiveSheet()->getComment('A1')->getFont()->setBold(true);

还有什么想法我如何增加图表的系列字体?

我会感激任何帮助。

最佳

1 个答案:

答案 0 :(得分:8)

我假设您使用的是最新版本(v1.8.0)。根据您想要达到的结果,您有不同的选择:

设置整个工作簿的样式:

$phpExcel->getDefaultStyle()->getFont()
    ->setName('Arial')
    ->setSize(14)
    ->setBold(true);

将自定义样式应用于单个单元格(或一系列单元格):

$phpExcel->getActiveSheet()->getStyle('A3')->applyFromArray($styleArray);

以下是一个例子:

$ phpExcel = new PHPExcel();

// set the font style for the entire workbook
$phpExcel->getDefaultStyle()->getFont()
    ->setName('Arial')
    ->setSize(14)
    ->setBold(true);

// custom style with different font than the global one
$styleArray = array(
    'font'  => array(
        'bold' => true,
        'color' => array('rgb' => 'FF0000'),
        'size'  => 15,
        'name' => 'Verdana'
    ));

// create some cells
$phpExcel->getActiveSheet()->getCell('A1')->setValue('Hello world');
$phpExcel->getActiveSheet()->getCell('A2')->setValue('Hello again');
$phpExcel->getActiveSheet()->getCell('A3')->setValue('Goodbye');

// apply custom style to single cell
$phpExcel->getActiveSheet()->getStyle('A3')->applyFromArray($styleArray);

结果将是这样的(注意第一个单元格具有全局样式,而A3单元格具有自定义样式):

enter image description here