2014-12-03 135 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