POI:如何从XSSF获得设计颜色?

时间:2015-01-06 11:49:03

标签: apache-poi stylesheet xssf hssf

我对poi和XSSF有一个很大的细胞风格问题。

excel xample

编辑2015-01-06:

绿色单元具有设计颜色,蓝色单元具有标准颜色。标准颜色效果很好,但设计颜色仅适用于HSSF。如何获得单元格的设计颜色?

请求帮助

编辑2015-01-07: 这是获取颜色的简单示例

HSSF

hssfSheet.getRow(0).getCell(1).getCellStyle().getFillForegroundColor() == 40
hssfSheet.getRow(1).getCell(1).getCellStyle().getFillForegroundColor() == 42
hssfSheet.getRow(2).getCell(1).getCellStyle().getFillForegroundColor() == 64

XSSF

xssfSheet.getRow(0).getCell(1).getCellStyle().getFillForegroundColor() == 0
xssfSheet.getRow(1).getCell(1).getCellStyle().getFillForegroundColor() == 64
xssfSheet.getRow(2).getCell(1).getCellStyle().getFillForegroundColor() == 64

我认为0表示它有颜色而64表示没有颜色。

xssfSheet.getRow(0).getCell(1).getCellStyle().getFillForegroundXSSFColor() instanceof XSSFColor
xssfSheet.getRow(1).getCell(1).getCellStyle().getFillForegroundXSSFColor() == null
xssfSheet.getRow(2).getCell(1).getCellStyle().getFillForegroundXSSFColor() == null

如果单元格的设计颜色与(1,1)中的绿色相同,则无法获取XSSF文件的颜色信息。

0 个答案:

没有答案