在JExcelApi中创建新颜色

Ken*_*Ken 8 excel xls jexcelapi export-to-excel

我正在使用JExcelApi生成XLS文件.从jxl.format.Colour,我看到如何获得"标准Excel调色板"中的任何颜色,但不知道如何创建新颜色(例如,给定其RGB).

但在Excel本身,我可以选择任何颜色.

我只是错过了吗?JExcelApi中有没有办法选择任意颜色?我现在正在使用一种简单的找到最接近标准色的方法,这可以,但不是很好.

Dam*_*n B 16

在JExcel API中覆盖调色板索引的方法是在可写工作簿上使用方法[setColourRGB] [1].例如:

myWorkbook.setColourRGB(Colour.LIGHT_TURQUOISE2, 14, 67, 89);
Run Code Online (Sandbox Code Playgroud)

如果要更改调色板条目中的颜色值,默认情况下第二个浅绿松石.或者,在某些情况下,更容易直接使用调色板索引:

myWorkbook.setColourRGB(Colour.getInternalColour(myPaletteIdx), 14, 67, 89);
Run Code Online (Sandbox Code Playgroud)

一个小更新:根据jxl.biff.PaletteRecord源代码中的注释,只能定制8到64的索引.

[1]:http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/jxl/write/WritableWorkbook.html#setColourRGB(jxl.format.Colour ,int,int,int)


xcu*_*cut 4

2007 年之前的 Excel 版本具有标准调色板,并且考虑到您使用的 API 不支持 2007 格式,您可能会陷入困境。您可以选择任何所需颜色的原因可能是因为您使用的是新版本的 Excel。

请参阅Microsoft 网站上的此信息

我不知道如何覆盖您正在使用的 API 中的标准调色板,但在 Apache POI(也允许您编写 Excel 文件)中,您可以:请参阅此链接。基本上,您需要做的是:为您的单元格分配某些标准颜色(绿色等);然后用您需要的任何自定义颜色覆盖这些颜色。