java - 如何使用 apache poi 获取单元格的背景颜色?

标签 java excel apache-poi

我们如何获得 XSSFCell背景颜色。我尝试使用 XSSFCellStyle 但没有成功。

FileInputStream fis = new FileInputStream(fileName);
XSSFWorkbook book = new XSSFWorkbook(fis);
XSSFSheet sheet = book.getSheetAt(0);
XSSFRow row = sheet.getRow(0);

System.out.println(row.getCell(0).getCellStyle().getFillForegroundColor());

使用这些步骤我无法获得 Short 类型的背景颜色表示。

最佳答案

检查这个 URL:

https://issues.apache.org/bugzilla/show_bug.cgi?id=45492

Cell cell = row.getCell(1);
            CellStyle cellStyle = cell.getCellStyle();          
            System.out.println("color = " + getColorPattern(cellStyle.getFillForegroundColor()));




private short[] getColorPattern(short colorIdx){        
    short[] triplet = null;
    HSSFColor color = palette.getColor(colorIdx);
    triplet = color.getTriplet();       
    System.out.println("color : " + triplet[0] +"," + triplet[1] + "," + triplet[2]);
    return triplet;
}

这会返回 RGB 代码,但不是准确的代码。但与 XLS 自定义颜色选择器中的实际颜色代码相比,它或多或少返回了相同的颜色。

关于java - 如何使用 apache poi 获取单元格的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19491231/

相关文章:

excel - vba Excel 中的 Office 版本和操作系统错误

excel - 对 Excel 电子表格中的值进行排序

java - 无法将类型 'java.lang.String' 的值转换为所需的模型对象类型

java - 如何在 jar 文件中获取类的名称?

java - 获取国际化拦截器在操作类中检测到的用户语言环境

java - 在 Apache POI 中,有没有办法通过 id 访问 XWPF 元素的 id?

java - JasperReports 5.2 不适用于 poi-3.7

java-字符串验证

arrays - Excel VBA 替换为数组组

Java将csv字符串写入Excel