在JExcelApi中制作新的颜色
我正在使用JExcelApi来生成XLS文件。 从jxl.format.Colour ,我看到如何获得“标准的Excel调色板”中的任何颜色,但不知道如何创build一个新的颜色(比如,给定它的RGB)。
但在Excel本身,我可以select任何颜色。
我只是想念它吗? 在JExcelApi有没有办法select一个任意的颜色? 我正在使用一个简单的查找最接近标准的颜色方法,这是可以的,但不是很好。
2007年以前的Excel版本有一个标准的调色板,并且考虑到你使用的API不支持2007格式,你可能会被困住。 您可以select任何颜色的原因可能是因为您正在使用新版本的Excel。
在Microsoft网站上查看此信息 。
我不知道如何覆盖所使用的API中的标准调色板,但是在Apache POI(也可以让您编写Excel文件)中,您可以:查看此链接 。 基本上,你需要做的是:给你的细胞分配一定的标准颜色(绿色等); 然后使用您需要的任何自定义颜色覆盖这些颜色。
在JExcel API中重写调色板索引的方法是在可写工作簿上使用[setColourRGB] [1]方法。 例如:
myWorkbook.setColourRGB(Colour.LIGHT_TURQUOISE2, 14, 67, 89);
如果您想要更改调色板条目中的颜色值,那么默认情况下第二个浅蓝绿色。 或者,在某些情况下,更容易直接使用调色板索引:
myWorkbook.setColourRGB(Colour.getInternalColour(myPaletteIdx), 14, 67, 89);
一个小小的更新:只有从8到64的索引可以根据jxl.biff.PaletteRecord的源代码中的评论来定制。
[1]: http : //jexcelapi.sourceforge.net/resources/javadocs/current/docs/jxl/write/WritableWorkbook.html#setColourRGB(jxl.format.Colour ,int,int,int)
WritableCellFormat cellFormat = new WritableCellFormat(); Colour customColor = new Colour(10000, "1", 255, 0, 0){ }; cellFormat.setBackground(customColor); writableCell.setCellFormat(cellFormat);