我在PHPExcel工作。我是初学者。当我使用以下代码并且工作正常时。
$phpExcel = new PHPExcel();
$phpExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true)
->setName('Verdana')
->setSize(10)
->getColor()->setRGB('6F6F6F');
但是当我使用以下代码并且没有得到如上所述的预期结果时。
$phpFont = new PHPExcel_Style_Font();
$phpFont->setBold(true);
$phpFont->setName('Verdana');
$phpFont->setSize(15);
$phpColor = new PHPExcel_Style_Color();
$phpColor->setRGB('FF0000');
$phpExcel->getActiveSheet()->getStyle('A1')->setFont( $phpFont );
$phpExcel->getActiveSheet()->getStyle('A1')->getFont()->setColor( $phpColor );
请帮助我在上面的代码中做错了什么。
提前谢谢!
答案 0 :(得分:111)
我建议你开始阅读the documentation(4.6.18。格式化单元格)。在应用大量格式时,最好使用applyFromArray()
根据文档,当您设置许多样式属性时,此方法也会更快。有一个附件,你可以找到这个功能的所有可能的钥匙。
这对你有用:
$phpExcel = new PHPExcel();
$styleArray = array(
'font' => array(
'bold' => true,
'color' => array('rgb' => 'FF0000'),
'size' => 15,
'name' => 'Verdana'
));
$phpExcel->getActiveSheet()->getCell('A1')->setValue('Some text');
$phpExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);
答案 1 :(得分:1)
PHPExcel 不再维护,由 phpspreadsheet 代替。
先阅读文档,使用applyFromArray()应用样式,阅读phpspreadsheet的文档:
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$styleArray = [
'font' => [
'bold' => true,
'size' => 14,
'name' => 'Arial'
],
'alignment' => [
'horizontal' => Alignment::HORIZONTAL_CENTER,
'vertical' => Alignment::VERTICAL_CENTER
],
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN,
'color' => ['rgb' => '000000']
]
]
];
$sheet->getStyle('A1')->applyFromArray($styleArray);
文档可以在Here