从另一个 XSSFCellStyle (POI APACHE) 创建新的或克隆 XSSFCellStyle
Create new or clone XSSFCellStyle from another XSSFCellStyle (POI APACHE)
要求
我需要一个新的 XSSFCellStyle
因为我必须更改一些样式。
情况
我只有一个 XSSFCellStyle
- 我没有它所属的 XSSFCell
。因此我也无法访问相关的 XSSFSheet
或 XSSFWorkbook
.
我已经尝试过的
- 我没有
XSSFWorkbook
所以我不能打电话给 workbook.createCellStyle()
.
XSSFCellStyle
构造函数至少需要一个 StylesTable
而我也没有(因为我找不到从旧的 XSSFCellStyle
获取它的方法)。
cellStyle.cloneStyleFrom(XSSFCellStyle Source)
并没有真正克隆样式(它或多或少只是具有相同指针的副本,因此如果我更改一个 cellStyle 上的某些内容,“克隆的”cellStyle 具有相同的更改)。
问题
如何获得新的 XSSFCellStyle
?
问候,winklerrr
XSSFCellStyle
上有一个 clone()
方法可用。
我不知道为什么,但我一开始没有看到它。我的错。
由于 Excel 将样式存储在 xls/xlsx 中的方式,您需要 Workbook/Sheet 可用才能创建新样式。事实上,样式并没有存储为单元格的一部分,而是作为工作簿中的一个单独列表。因此,如果可能,还应跨单元格重复使用此样式。
然后你会做类似的事情
XSSFCellStyle clone = wb.createCellStyle();
clone.cloneStyleFrom(origStyle);
创建新样式并克隆原始样式的设置。
有一个 XSSFCellStyle.clone(),但我不确定它是否会如您所愿,因为工作簿的链接不会更新,因此您将有两个 Style 对象,它们指向工作簿中样式列表中的相同样式索引...
要求
我需要一个新的 XSSFCellStyle
因为我必须更改一些样式。
情况
我只有一个 XSSFCellStyle
- 我没有它所属的 XSSFCell
。因此我也无法访问相关的 XSSFSheet
或 XSSFWorkbook
.
我已经尝试过的
- 我没有
XSSFWorkbook
所以我不能打电话给workbook.createCellStyle()
. XSSFCellStyle
构造函数至少需要一个StylesTable
而我也没有(因为我找不到从旧的XSSFCellStyle
获取它的方法)。cellStyle.cloneStyleFrom(XSSFCellStyle Source)
并没有真正克隆样式(它或多或少只是具有相同指针的副本,因此如果我更改一个 cellStyle 上的某些内容,“克隆的”cellStyle 具有相同的更改)。
问题
如何获得新的 XSSFCellStyle
?
问候,winklerrr
XSSFCellStyle
上有一个 clone()
方法可用。
我不知道为什么,但我一开始没有看到它。我的错。
由于 Excel 将样式存储在 xls/xlsx 中的方式,您需要 Workbook/Sheet 可用才能创建新样式。事实上,样式并没有存储为单元格的一部分,而是作为工作簿中的一个单独列表。因此,如果可能,还应跨单元格重复使用此样式。
然后你会做类似的事情
XSSFCellStyle clone = wb.createCellStyle();
clone.cloneStyleFrom(origStyle);
创建新样式并克隆原始样式的设置。
有一个 XSSFCellStyle.clone(),但我不确定它是否会如您所愿,因为工作簿的链接不会更新,因此您将有两个 Style 对象,它们指向工作簿中样式列表中的相同样式索引...