2016-11-12 169 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。