我正在使用 poi.apache 阅读 xslx 工作簿,我想获取单元格的 rgb 颜色代码。当我尝试从 XSSFColor 中获取 rgb 代码时,即使我知道那里有颜色,它也会返回 null。
for(int k = 0; k < r.getLastCellNum(); k++) {
XSSFCellStyle ce = (XSSFCellStyle) r.getCell(k, Row.RETURN_NULL_AND_BLANK).getCellStyle();
XSSFColor col = ce.getFillBackgroundXSSFColor();
byte[] rgb = col.getARgb(); //null
}
获取内部 CTColor 对象也无济于事。它也返回空值。
byte[] ctRgb = col.getCTColor().getRgb(); // null
有没有其他人遇到过这个问题和/或有解决方案?
编辑
正如 Creakazoid 指出的那样,切换背景和前景解决了我的很多问题。但现在我遇到的问题是灰色渐变。
例如,深灰色返回黑色 (FF000000),浅灰色返回白色 (FFFFFFFF)。我可以得到实际的灰色代码吗?