最近发现在用poi读取excel03格式文件时,不能很好的读取到表格中自定义的颜色值,cell.getCellStyle().getFillForegroundColorColor();只能取到预定义颜色的索引值。经过对poi研究,03格式的xls文件时采用的[MS-XLS]: Excel Binary File Format (.xls) ,biff8的格式,参考[MS-XLS]: Excel Binary File Format (.xls) Structure | Microsoft Docs ,poi没有对record XFExt进行处理,它是excel的单元格格式的扩展对象,poi解释成了UnknownRecord对象,sid为0x087D,查看官方文档,对象的结构如下:
稍微解释一下,XFExt对象里面ixfe标识扩展的是哪个单元格格式,cexts标识有几个扩展对象,扩展对象为ExtProp,ExtProp对象中extType是扩展的类型,我们要用到4,5,13,分别是fore