My problem
I need to exactly copy cells from XSSFWorkbook
s and HSSFWorkbook
s to a new XSSFWorkbook
. So my cells can be of both types: XSSFCell
and HSSFCell
.
By exactly, I mean that I also need to copy the CellStyle
including the CellBorder
and CellFill
properties as well as the DefaultRowHeight
and DefaultColumnWidth
of the workbook itself. Also the height and width for each row and column should be copied.
(Copying CellStyle
sometimes results in strange behaviour like I already asked here).
My question
What's the best way to do this? I don't want to copy each property manually by myself. Especially if I don't know if my input cells are of type XSSFCell
or HSSFCell
.
My solution
I've solved my problem through downscaling of the requirements. Now I only concentrate on
XSSFWorkbook
s.Exactly copying a
XSSFWorkbook
is really easy. To copy aXSSFCellStyle
to another workbook just use the following code:It's important that the target workbook has the same style source as the source workbook. Otherwise the cloned cell style will look differently.
I hope this helps someone!
Regards, winklerrr
PS
If someone can't downscale the requirements, then maybe it's helpful to split up the task into two smaller tasks:
HSSFWorkbook
to aXSSFWorkbook
and vice versa.XSSFWorkbook
exactly.