最近在做文件模板下载,有需求提出,部分字段需要使用*来标明必填,而且必须是红色,因此,在网上百度之后,终于找到参考文档,参考地址贴在最后。
public static void main( String[] args ) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("自定义单元格部分内容颜色");
HSSFRow row = sheet.createRow(5);
HSSFCell cell = row.createCell(5);
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setColor(HSSFColor.BLACK.index);
font.setFontName("宋体");
font.setBoldweight((short)700);
HSSFFont font2 = workbook.createFont();
font2.setColor(HSSFColor.RED.index);
font2.setFontName("宋体");
font2.setBoldweight((short)700);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
String txt = "*标题";
HSSFRichTextString text = new HSSFRichTextString(txt);
text.applyFont(txt.indexOf("*"),txt.indexOf("*")+1,font2);
text.applyFont(txt.indexOf("*")+1,txt.length(),font);
cell.setCellValue(text);
sheet.autoSizeColumn(5,true);
File file = new File("C:\\Users\\95398\\Desktop\\我要变成红色的字体.xls");
if(file.exists()){
file.delete();
}
file.createNewFile();
workbook.write(new FileOutputStream( file ));
}
代码中针对整个的字段进行拆分,对*进行红色设置,并对*之后的字段进行黑色设置。这样就可以导出自己想要的结果了。