首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ApachePOI4.0中为XSSFWorkbook创建自定义颜色样式

在ApachePOI4.0中为XSSFWorkbook创建自定义颜色样式
EN

Stack Overflow用户
提问于 2018-09-16 18:59:43
回答 2查看 8.4K关注 0票数 6

要在ApachePOI3.7及以下版本中为XSSFWorkbook应用自定义颜色是可能的:

代码语言:javascript
复制
java.awt.Color c = new java.awt.Color (1,2,3)
XSSFCellStyle xcs = xssfWorkbook.createCellStyle();
XSSFFont headerFont = xssfWorkbook.createFont();
headerFont.setColor(new XSSFColor(c));
xcs.setFont(headerFont);
cell.setCellStyle(xcs);

在4.0版中,XSSFColor(java.awt.Color)被删除。仍然有可能实现同样的目标,只需额外的“黑客”:

代码语言:javascript
复制
XSSFColor xc = new XSSFColor();
xc.setARGBHex(String.format("%02x%02x%02x",c.getRed(),c.getGreen(),c.getBlue())); 
headerFont.setColor(xc);

但如何才能做到这一点呢?大多数XSSFColor方法都涉及一个IndexedColorMap,但我找不到任何示例说明如何使用它在XSSFWorkbook中设置自定义颜色。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-17 03:14:41

代码语言:javascript
复制
byte[] rgb = {120, 100, (byte) 200};
headerFont.setColor(new XSSFColor(rgb, new DefaultIndexedColorMap()));
票数 8
EN

Stack Overflow用户

发布于 2020-06-25 14:49:20

代码语言:javascript
复制
    XSSFFont font = workbook.createFont();      
    byte[] rgb = {20, (byte) 230, 25};
    XSSFColor xc = new XSSFColor(rgb, null);
    font.setColor(xc);

以上应该是POI4 4的最佳方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52357448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档