我想将文本字体设置为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’方法,但这也是简短的参数.那么有什么方法可以将文本字体设置为十进制数?
解决方法:
将注释提升为答案 – POI HSSF Font类有两种字体大小设置方法:
对于大多数情况,使用setFontHeightInPoints更容易,并且在Javadocs中建议使用.但是,它只能应付整数字体高度.这是大多数字体大小,但不是全部
要将字体高度设置为7.5,您需要将代码更改为:
xtFont.setFontHeight((short)(7.5*20));
它使用占用1/20点大小的备用,因此应对非整数值.
标签:java,apache-poi
来源: https://codeday.me/bug/20190715/1466582.html