2016-11-12 37 views
0

我可以設置文字加粗的代碼:如何更改文本,以大膽的W/O改變字體

XSSFFont font = workbook.createFont(); 
font.setBold(true); 
XSSFCellStyle bold = workbook.createCellStyle(); 
bold.setFont(font); 
... 
cell.setCellStyle(style); 

是,電池具有大膽風格,但它有另一種字體。它有Calibri(大小:11)。如果我創建沒有風格的單元格,我可以獲得這個單元格:Liberation Sans(大小:10)。

OK,然後我嘗試其他方式:

XSSFCell cell = row.createCell(0, CellType.STRING); 
cell.setCellValue("test"); 
// Crash 
// XSSFCellStyle style = row.getRowStyle(); 
XSSFCellStyle style = row.getCell(0).getCellStyle();  
XSSFFont font = style.getFont(); 
font.setBold(true); 
style.setFont(font); 
cell.setCellStyle(style); 

無差異列表。我得到Calibri(尺寸:11)。

但是爲什麼?我該如何解決它?我希望所有單元格(粗體或無粗體)具有相同的字體名稱和大小。我不想手動設置字體。

+1

系統上是否提供了粗體字體?聽起來像一個後備 – baao

+0

是的,我可以:打開xls文件,按'ctrl + b'並看到粗體文本。 –

+1

不要將_font_與_typeface_混淆。 Calibri是_typeface_,由_fonts_集合組成。如果粗體字體不存在於字體中,則可能會回退到另一種字體,可能是使用粗體字體的相同字體系列(如@baao建議的)。 – pathfinderelite

回答

0

這是LibreOffice問題,那個我用來打開xlsx-files。