当前位置: 首页 > 知识库问答 >
问题:

访问XSSFWorkbook中的调色板

李永寿
2023-03-14

使用POI时,excel文档中的单元格和字体包含颜色信息,这些信息并不总是返回rgb值,而且通常只提供索引值。索引值必须对照某物进行查找才能得到颜色。在HSSFWorkbook(xls)中,有一种方法可用于获取调色板:

InputStream in = new FileInputStream("sheet.xls");
HSSFWorkbook wb = new HSSFWorkbook(in);
wb.getCustomPalette();
InputStream in = new FileInputStream("sheet.xlsx");
XSSFWorkbook wb = new XSSFWorkbook (in);
wb.getCustomPalette(); <-- fail!

我通过CellStyle获得XSSFColor,如下所示:

CellStyle style = cell.getCellStyle();
XSSFColor color = style.getFillBackgroundColorColor();

通过indexedcolors获取颜色名称:

for (IndexedColors c : IndexedColors.values()) { if (c.index == indexColor){ System.out.println("Color: " + c.name()); } }

类似的问题:如何获得给定单元格的(Java Apache POI HSSF)背景色?

((XSSFColor) color).getARGBHex())

Update 2:令我非常沮丧的是,我发现一些单元格不返回包含ARGBHex数据的背景XSSFColor。为这个找个解决办法

共有1个答案

高玮
2023-03-14

使用wb.getStylessource(),可以获得StyleStable,从中可以获得所有CellStyle对象。XSSFCellStyleAPI有许多方法来获取颜色对象,即XSSFColorxssfcellstyleAPI还可以访问该样式中的所有字体,即xssffont,您可以再次从中获得特定字体的xssfcolor对象。

访问XSSFColor之后,调用getRGB()将返回RGB值的字节数组。

 类似资料:
  • 使用POI时,excel文档中的单元格和字体包含颜色信息,这些信息并不总是返回rgb值,而且通常只提供索引值。索引值必须对照某物进行查找才能得到颜色。在HSSFWorkbook(xls)中,有一种方法可用于获取调色板: 我通过CellStyle获得XSSFColor,如下所示: 通过indexedcolors获取颜色名称: 类似的问题:如何获得给定单元格的(Java Apache POI HSSF

  • 我正试图用bde2020提供的图像构建一个轻量级的最小hadoop堆栈(学习目的)。现在,堆栈包括(除其他外) 名称节点 基本上,我从大数据欧洲官方docker撰写开始,并根据他们的留档添加了色调图像 色调的文件浏览器无法访问HDFS: 将所有服务显式放到同一网络上 当我登录到hue的容器时,我可以看到namenode的端口9870是打开的()。50070不是。我认为我的问题与网络无关。尽管编辑了

  • 问题内容: 给出以下示例:单击第一个链接然后返回页面时,第一个链接变为绿色。但是,即使已声明已访问的链接具有,它仍然没有下划线。即使您添加到该规则,也没有任何改变。 在CSS规范中找不到有关此类行为的任何信息。这是常见的浏览器错误吗?如何解决呢? 问题答案: 您无法在中更改文本装饰。这是出于隐私考虑。基本上更改计算的属性可以使网站确定用户访问过哪些网站。 可以用来设置访问链接样式的CSS属性是颜色

  • 问题内容: 是否可以使用任何基于角色的开源访问控制系统? 问题答案: 布兰登·萨维奇(Brandon Savage)在他的PHP软件包“ ApplicationACL ” 上做了一个演示,该演示可能会或可能不会完成基于角色的访问。PHPGACL可能也能正常工作,但是我不能肯定地告诉您。 但是,我可以告诉您的是Zend Framework 的Zend_ACL组件将执行基于角色的设置(但是您必须子类化

  • 角色定义 [role_definition] 是RBAC角色继承关系的定义。 Casbin 支持 RBAC 系统的多个实例, 例如, 用户可以具有角色及其继承关系, 资源也可以具有角色及其继承关系。 这两个 RBAC 系统不会互相干扰。 此部分是可选的。 如果在模型中不使用 RBAC 角色, 则省略此部分。 [role_definition] g = _, _ g2 = _, _ 上述角色定义表

  • 我想在XSSFWorkbook中设置自己的背景色。到目前为止,我有这个代码: 但是我得到了以下错误: 类型CellStyle中的setFillForegroundColor(short)方法不是 不推荐使用构造函数XSSFColor(Color) 那么如何在XSSFWorkbook中设置自己的颜色呢?