获得Cell颜色在Excel中具有POI(Get Cell color in excel with

2019-09-28 07:47发布

我读了那么所有的问题,但没有答案的工作。 如果我更改Excel单元格颜色我仍然得到0和64我使用的2007年Excel和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();}

Answer 1:

cs.getFillForegroundColorColor().getARGBHex()

这将在十六进制返回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
}


文章来源: Get Cell color in excel with poi