在开发的过程中,可能会遇到这样的问题,单元格内的文字分段加下划线
例如,输出的数据是下面这样
_aaaaaa_ _BBBBB_
要求数据输出到同一个单元格内,并且aaaaaa加下滑线,BBBB也要加下划线,但是中间的空位不能有下划线。
使用POI 中的HSSFRichTextString对象就能实现上述要求。
代码片段
创建Font()
public Font getFont() {
Font font = workbook.createFont();
font.setUnderline(Font.U_SINGLE); //下划线
return font;
}加入下划线
private HSSFRichTextString UnderLineIndex(StringBuffer detail1, Font font) {
HSSFRichTextString richString = null;
richString = new HSSFRichTextString(detail.toString());
richString.applyFont(1, 6, font); //下划线的起始位置,结束位置
richString.applyFont(6, 11, font);return richString;
}设定单元格
cell.setCellValue(UnderLineIndex(new StringBuffer(content), getFont()));