我在Java代码上使用findSimilarColor时遇到了一些问题。
我已经从stackoverflow中阅读了一些文章,这些文章可以帮助我了解以下代码。

HSSFCellStyle style = wb.createCellStyle();

HSSFPalette palette = wb.getCustomPalette();
// get the color which most closely matches the color you want to use
HSSFColor myColor = palette.findSimilarColor(226, 0, 116); //java don't recognize this color
// get the palette index of that color
short palIndex = myColor.getIndex();
// code to get the style for the cell goes here
style.setFillForegroundColor(palIndex);

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);


这样,除了我尝试使用(226, 0, 116)的RGB颜色之外,我没有设置任何颜色的问题。

由于某些原因,当我最后打开excel文件时显示的颜色是RGB (128, 0, 128)

有谁知道为什么会这样吗?还是替代解决方案?

谢谢您的帮助。

最佳答案

对象调色板中是否定义了颜色(226, 0, 116)?您正在要求调色板中定义的颜色更接近您的要求,并且似乎(128, 0, 128)是最接近的颜色。

尝试类似的东西:

HSSFColor myColor = palette.addColor(226, 0, 116);


而不是要求类似的颜色。

10-04 11:41