java excel 修改局部文字颜色样式
使用类为:HSSFRichTextString
File tempfile = new File("c://a.xls");
try {
FileOutputStream stream = new FileOutputStream(tempfile);
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
sheet.setColumnWidth(0, 1866);
CellStyle btStyle2 = wb.createCellStyle();
btStyle2.setBorderBottom(CellStyle.BORDER_THIN);
btStyle2.setBorderLeft(CellStyle.BORDER_THIN);
btStyle2.setBorderRight(CellStyle.BORDER_THIN);
btStyle2.setBorderTop(CellStyle.BORDER_THIN);
btStyle2.setAlignment(CellStyle.ALIGN_CENTER);
btStyle2.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
btStyle2.setWrapText(true);
HSSFFont ftRed = wb.createFont();
ftRed.setBoldweight(org.apache.poi.ss.usermodel.Font.BOLDWEIGHT_NORMAL);
ftRed.setCharSet(20);
ftRed.setFontHeight((short) 220);
ftRed.setFontName("宋体");
ftRed.setColor(HSSFColor.RED.index);
HSSFRichTextString textStr = new HSSFRichTextString("aaabccc");
textStr.applyFont(
0,
3,
ftRed
);
cell.setCellValue(textStr);
cell.setCellStyle(btStyle2);
wb.write(stream);
stream.flush();
stream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return tempfile;