样式未在POI中应用于excel

时间:2016-08-26 07:11:55

标签: java apache-poi

我正在使用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);

1 个答案:

答案 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);