在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 }