gpt4 book ai didi

java - 将自定义颜色与 SXSSF (Apache POI) 结合使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:56 26 4
gpt4 key购买 nike

我正在尝试编写一个巨大的 excel 文件,我的要求允许我写下行然后忘记,所以我正在使用 SXSSF这只允许在内存中保留少数行,其余的都写入文档。这有助于克服大文件的内存不足异常。

但我还需要使用 sxssf 工作簿为单元格设置样式。我找不到在 SXSSF 中定义和使用自定义颜色的方法(就像在 XSSF 中,我们可以直接定义自定义颜色,而在 HSSF 中,我们可以用自定义颜色替换调色板中的条目)

我找不到从 SXSSF workbook 访问调色板的方法.

我无法创建新的 HSSF palette因为构造函数是 protected 。

目前唯一可行的方法是以某种方式从所有预定义颜色的列表中找到相似的颜色并使用它,而不是原来的颜色(但这需要有一个 rgb 颜色匹配算法,这将是另一项任务)

有人可以建议解决方法(或者可能建议原始 rgb 颜色匹配算法)

最佳答案

所以,在网上搜索和阅读文档后,我得到一个提示,即 SXSSF 实际上是 XSSF 的包装器,所以我将 SXSSF 工作簿返回的 CellStyle 类型转换为 XSSF,并且能够直接使用 XSSFColor生成颜色。

SXSSFWorkbook workbook = new SXSSFWorkbook(50); 
Sheet sheet = workbook.createSheet("Image Data");
....
Cell cell = row.createCell(j);
cell.setCellValue(j);
XSSFCellStyle cs1 = (XSSFCellStyle) workbook.createCellStyle();
cs1.setFillForegroundColor(new XSSFColor(new java.awt.Color(red,green,blue)));
cs1.setFillPattern(CellStyle.SOLID_FOREGROUND);
cell.setCellStyle(cs1);

关于java - 将自定义颜色与 SXSSF (Apache POI) 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20561710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com