从另一个 XSSFCellStyle (POI APACHE) 创建新的或克隆 XSSFCellStyle

Create new or clone XSSFCellStyle from another XSSFCellStyle (POI APACHE)

要求

我需要一个新的 XSSFCellStyle 因为我必须更改一些样式。

情况

我只有一个 XSSFCellStyle - 我没有它所属的 XSSFCell。因此我也无法访问相关的 XSSFSheetXSSFWorkbook.

我已经尝试过的

问题

如何获得新的 XSSFCellStyle

问候,winklerrr

XSSFCellStyle 上有一个 clone() 方法可用。
我不知道为什么,但我一开始没有看到它。我的错。

由于 Excel 将样式存储在 xls/xlsx 中的方式,您需要 Workbook/Sheet 可用才能创建新样式。事实上,样式并没有存储为单元格的一部分,而是作为工作簿中的一个单独列表。因此,如果可能,还应跨单元格重复使用此样式。

然后你会做类似的事情

  XSSFCellStyle clone = wb.createCellStyle();
  clone.cloneStyleFrom(origStyle);

创建新样式并克隆原始样式的设置。

有一个 XSSFCellStyle.clone(),但我不确定它是否会如您所愿,因为工作簿的链接不会更新,因此您将有两个 Style 对象,它们指向工作簿中样式列表中的相同样式索引...