在poi excel中获取单元格颜色
我读了所有的问题,但没有答案正在工作。 如果我改变Excel中的单元格颜色,我仍然得到0和64.我使用Excel 2007和poi 3.11。 感谢帮助。
try{ File file = new File("C:\\Test\\poi.xlsx"); FileInputStream fis = new FileInputStream(file); XSSFWorkbook wb = new XSSFWorkbook(fis); XSSFSheet sh = wb.getSheet("Tabelle1"); XSSFCellStyle cs = sh.getRow(0).getCell(0).getCellStyle(); System.out.println("Color: "+cs.getFillForegroundColor()); // 0 System.out.println("Color: "+cs.getFillBackgroundColor()); // 64 }catch(Exception e){e.printStackTrace();}
cs.getFillForegroundColorColor().getARGBHex()
这将在hex中返回ARGB
UPDATE
要检查颜色,你可以这样做:
Color color = cs.getFillForegroundColorColor(); if (color.GREY_25_PERCENT || color.GREY_40_PERCENT || color.GREY_50_PERCENT || color.GREY_80_PERCENT) // is grey }
或者如果只有2种颜色使用:
Color color = cs.getFillForegroundColorColor(); if (color.WHITE) { // is white }else { // is grey }