java - 使用poi获取Excel中的单元格颜色

标签 java excel apache-poi

我阅读了所有关于 so 的问题,但没有答案有效。如果我更改 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()

这将返回十六进制的 ARGB

更新
要检查颜色,您可以执行以下操作:

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
}

关于java - 使用poi获取Excel中的单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27621527/

相关文章:

excel - 强制 Excel 接受数字作为列表名称

java - 读取 Apache POI 文件并通过 JPA 进行持久化,但实体的持久化直到方法结束时才会发生

java - 使用 Apache Poi 从 Excel 创建对象

java - 在 Java 中使用 HTMLEditorKit,如何找到 <img src=...> 标签将使用的本地文件路径?

java - 我如何告诉 javac 如何找到 imageio 类?

vba - 删除工作表并使用相同的工作表名称重新创建

java - 动态添加外部(跨工作簿)引用

java - 未签名的小程序可以与 CA 认证的 SSL 服务器通信吗?

java - 在android中将形状文件或OSM文件显示为 map

java - 解析 Excel 工作表时退出 for 循环的中断条件应该是什么?