我想将文本字体设置为7.5到Excel工作表中的特定文本。我使用下面的代码来准备字体。
HSSFCellStyle txtStyle = (HSSFCellStyle)workbook.createCellStyle();
HSSFFont txtFont = (HSSFFont)workbook.createFont();
txtFont.setFontName("Arial");
txtFont.setFontHeightInPoints((short)7.5);
txtStyle.setFont(txtFont);
但由于短类型转换,它总是将字体设为7,因此excel表中的目标文本采用字体7而不是7.5。我也尝试过'setFontHeight'方法,但这也是简短的参数。那么有什么方法可以将文本字体设置为十进制数?
答案 0 :(得分:12)
将评论提升为答案 - POI HSSF字体类有两种字体大小设置方法:
对于大多数情况,使用setFontHeightInPoints更容易,并且在Javadocs中建议使用{{3}}。但是,它只能处理整数字体高度。这是大多数字体大小,但不是全部
要将字体高度设置为7.5,您需要将代码更改为:
xtFont.setFontHeight((short)(7.5*20));
使用带有1/20
点大小的备用值,因此应对非整数值。