簡體   English   中英

在 Apache POI 4.0 中為 XSSFWorkbook 創建自定義顏色樣式

[英]Creating custom color styles for an XSSFWorkbook in Apache POI 4.0

要在 Apache POI 3.7 及以下版本中為 XSSFWorkbook 應用自定義顏色,可以執行以下操作:

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) 被移除。 仍然可以實現相同的目標,只需要額外的“hackery”:

XSSFColor xc = new XSSFColor();
xc.setARGBHex(String.format("%02x%02x%02x",c.getRed(),c.getGreen(),c.getBlue())); 
headerFont.setColor(xc);

但是,這樣做的“正確”方法是什么? 大多數 XSSFColor 方法都涉及 IndexedColorMap,但我找不到任何示例說明如何使用它在 XSSFWorkbook 中設置自定義顏色。

byte[] rgb = {120, 100, (byte) 200};
headerFont.setColor(new XSSFColor(rgb, new DefaultIndexedColorMap()));
    XSSFFont font = workbook.createFont();      
    byte[] rgb = {20, (byte) 230, 25};
    XSSFColor xc = new XSSFColor(rgb, null);
    font.setColor(xc);

以上應該是POI4.*的最佳方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM