我正在使用POI突出显示我的Excel工作表的某些行,但这似乎不起作用。
我google了很多,但问题似乎仍然存在。
以下是我检查的一些方法,但它没有用。
HSSFFont font = (HSSFFont) sheet.getWorkbook().createFont();
font.setBold(true);
style.setFont(font);
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(new HSSFColor.BLUE().getIndex());
cell.setCellStyle(style);
//nextRow.setRowStyle(style);
或
HSSFCellStyle curStyle = (HSSFCellStyle) cell.getCellStyle();
curStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
curStyle.setFillForegroundColor(HSSFColor.BLUE.index);
cell.setCellStyle(curStyle);
或
HSSFPalette palette = ((HSSFWorkbook) sheet.getWorkbook()).getCustomPalette();
HSSFCellStyle style= (HSSFCellStyle) cell.getCellStyle();
HSSFColor myColor = palette.findSimilarColor(255, 0, 0);
short palIndex = myColor.getIndex();
style.setFillForegroundColor(palIndex);
cell.setCellStyle(style);
答案 0 :(得分:0)
第一种解决方案非常有效。
InputStream inp;
HSSFWorkbook wb = null;
HSSFSheet sheet = null;
HSSFRow hssf_DataRow;
HSSFCell cell = null;
inp = new FileInputStream(FileName);
wb = new HSSFWorkbook(inp);
sheet = wb.getSheetAt(1);
hssf_DataRow = sheet.createRow((short) 1);
cell = hssf_DataRow.createCell(1);
HSSFFont font = (HSSFFont) sheet.getWorkbook().createFont();
HSSFCellStyle style = (HSSFCellStyle) cell.getCellStyle();
font.setBold(true);
style.setFont(font);
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(new HSSFColor.BLUE().getIndex());
cell.setCellStyle(style);