【问题标题】:Apache POI 4.1. XSSF merged cells border阿帕奇 POI 4.1。 XSSF 合并单元格边框
【发布时间】:2020-10-08 08:28:33
【问题描述】:

在旧版本中,您可以输入如下内容:

propertyTemplate.drawBorders(cellsRegionRange, BorderStyle.THICK, IndexedColors.YELLOW1.index, BorderExtent.OUTSIDE);

这会导致外部边框 - 甚至在合并的单元格周围,并带有选定的颜色。 不幸的是,对于新版本的 POI,我似乎无法使用索引颜色,因为获取自定义 RGB 颜色索引的方法不起作用并且被贬低或标记为仅测试。

因此,由于着色,我不得不放弃 propertyTemplate 类。现在我知道如何使用 XSSFColor 构造函数和 XSSFCellStyle 为边框着色:

XSSFColor borderColorXSF = new XSSFColor(rgbB, null);

但我不知道如何将 XSSFCellStyle 应用到单元格的合并区域,我尝试了 RegionUtil,我认为这只会导致覆盖 XSSFCellStyle,所以一切都是黑色的,甚至是填充颜色。

所以我的问题是绕过 propertyTemplate 类的正确方法是什么?

【问题讨论】:

    标签: apache-poi xssf


    【解决方案1】:

    我找到的唯一解决方案是遍历每个单元格,检查它的任何边框是内部还是外部,并相应地设置单元格样式边框。 我基本上已经自己编写了一些 HSSF PropertyTemplate 类方法。 请注意,我发现您不能混合使用 HSSF 和 XSSF 方法或对象,因为即使程序无异常运行,它也会开始出现不可预测的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多