PHPExcel:无法设置合并单元格的样式


PHPExcel: Can't style merged cells

我不知道如何为合并的单元格设置字体样式。无论是通过打开带有合并单元格的 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 的最新源代码,问题消失了。因此,我必须假设旧版本不支持它。