我在Apache POI
中为XSSFWorkbook
设置自定义字体颜色时遇到了一些问题。当我这样做:在Apache POI中为XSSFWorkbook设置自定义字体颜色
yellow = workbook.createCellStyle();
Font whiteFont = workbook.createFont();
whiteFont.setColor(new XSSFColor(new Color(255, 255, 255)).getIndexed());
yellow.setFillForegroundColor(new XSSFColor(yellowRGB));
yellow.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
yellow.setFont(whiteFont);
字体保持黑色,我不知道我在做什么错,但是。
但问题是我必须使用'getIndexed()',因为'Font.setColor(short)'使用'short'作为参数。此外,该方法根本不起作用,因为我想也许它只是为了白色,但是当我做了'whiteFont.setColor(new XSSFColor(new Color(234,17,156))。getIndexed());',它仍然保持黑色 – silverAndroid
getIndexed()存在一些问题,它可能是CTColor中的问题,这是XSSFColor在底层使用的问题。你使用的是什么版本的POI?您仍然可以执行'whiteFont.setColor(HSSFColor.WHITE.index)'或'whiteFont.setColor(IndexedColors.WHITE.index);' –
工作簿的类型是什么?什么是您正在使用的Font类的完整类型? (哪个包?) –