我不知道如何为合并的单元格设置字体样式。无论是通过打开带有合并单元格的 XLS 文件,还是使用 PHPExcel 从头开始创建文档,合并的单元格都不会样式化,它们坚持太 TimesNewRomany 满足我的需求。
这是我代码的缩写版本:
$excel = new PHPExcel();
$excel->setActiveSheetIndex(0);
# I know beforehand my spreadsheet spans from A1 to G42,
# so I set styles for all those cells:
$excel
->getActiveSheet()
->getStyle('A1:G42')
->getFont()
->setName('Helvetica')
->setSize(8);
# Now, onto some merging:
$sheet = $excel->getActiveSheet();
$sheet->mergeCells('D2:G2');
然后我继续使用DomPDF将其全部作为PDF输出。我所有的细胞看起来都很好,穿着Helvetica@8px整洁,除了合并的细胞。甚至没有专门针对他们:
$sheet->getStyle('D2:G2')->getFont()->setName('Helvetica')->setSize(8);
到目前为止,我从谷歌结果中尝试过:
- 对单元格使用
applyFromArray()
- 合并单元格后设置样式
- 使用
getActiveSheet()->getDefaultStyle()->applyFromArray()
还有其他想法吗?
我不确定这是否是解决此问题的唯一方法,但显然我使用的是过时的 PHPExcel 版本,大概在处理合并单元格时遇到了麻烦。
我刚刚将库更新为 Github 的最新源代码,问题消失了。因此,我必须假设旧版本不支持它。