在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); 

看看JXL的Color Class的源代码

http://www.docjar.com/html/api/jxl/format/Colour.java.html

和jExcel它的一个开源:)