Java 未使用POI在excel中应用样式
我正在使用POI突出显示excel工作表中的某些行,但这似乎不起作用 我在谷歌上搜索了很多,但问题似乎仍然存在 下面是我检查的一些方法,但它不起作用Java 未使用POI在excel中应用样式,java,apache-poi,Java,Apache Poi,我正在使用POI突出显示excel工作表中的某些行,但这似乎不起作用 我在谷歌上搜索了很多,但问题似乎仍然存在 下面是我检查的一些方法,但它不起作用 HSSFFont font = (HSSFFont) sheet.getWorkbook().createFont(); font.setBold(true); style.setFont(font); style.setFillPattern(CellStyle.SOLID_FOREGROUND); style.setFillForegr
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);
或
或
第一个解决方案非常有效
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);
您确定正在连接文件吗?没有例外?是否只使用一个样式对象?或者你有很多。style1,style2,…非常感谢您的指点。事实上,我并没有回写excel。
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);
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);