https://bz.apache.org/bugzilla/show_bug.cgi?id=60880

            Bug ID: 60880
           Summary: Missing: search for CellStyle
           Product: POI
           Version: 3.15-FINAL
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSSF
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

I am trying to copy the whole Style of some Cells from one Worksheet to
another.
At the moment I am using .cloneStyleFrom(), but this way a new Style is created
everytime - since there is no way to detect if the new Style already exists and
can be reused.

XSSFCellStyle newStyle = dstSheet.getWorkbook().createCellStyle();
// this creates a new style for every single cell, bad!
newStyle.cloneStyleFrom(oldCell.getCellStyle());
newCell.setCellStyle(newStyle);

should become something like:

XSSFCellStyle newStyle = null;
XSSFCellStyle exisiting =
dstSheet.getWorkbook().searchForCellStyle(oldCell.getCellStyle());
// returns the already existing style (if), or null

if(existing == null){

  newStyle = dstSheet.getWorkbook().createCellStyle();
  newStyle.cloneStyleFrom(oldCell.getCellStyle());
  newCell.setCellStyle(newStyle);

} else {

  newCell.setCellStyle(existing);

}

I'll give it a try to patch it, if somebody has a good idea - please let me
know!

---

Another Way would be to use CellUtil.setCellStyleProperties(), but it's not
working for not-indexed colors, fonts, ...

Also a CellUtil.getCellStyleProperties() function would be nice.

(But thats another issue, i will do that afterwards)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to