2014-12-03 104 views
2

我无法弄清楚如何为合并单元格设置字体样式。通过打开一个带有合并单元格的XLS文件,或者使用PHPExcel从头开始创建一个文档,合并的单元格不会起作用,他们坚持要求TimesNewRomany符合我的需求。PHPExcel:无法合并单元格样式

这里是我的代码的缩写版本:

$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()

任何额外的想法?

+0

合并单元格的输出HTML + CSS的外观如何?也许这些单元格的样式不能正确输出。或者,也许dompdf解释不正确。无论哪种方式,看到HTML可以帮助找出问题。 – BrianS 2014-12-03 20:19:03

+0

@BrianS我会确认的!目前,我已经将脚本升级到Github repo的最新版本,并且它的效果更好。处理合并的单元格就好了。 – 2014-12-04 18:13:52

回答

0

我不确定这是否仅仅是解决这个问题的方法,但显然我使用的是PHPExcel的过时版本,可能在处理合并的单元格时遇到了问题。

我刚刚已将库更新至Github最新源代码,问题消失了。所以,我必须假设它只是在旧版本中不受支持。

+0

您能否指定哪些版本号可以使用,哪些不能使用? – 2015-12-16 15:56:38