I have template sheets that I use to copy cells with formatting to other
sheets. I do it this way:
private static void copyCell(Cell oldCell, Cell newCell) {
newCell.setCellStyle(oldCell.getCellStyle());
switch (oldCell.getCellType()) {
case Cell.CELL_TYPE_STRING:
newCell.setCellValue(oldCell.getRichStringCellValue());
break;
case Cell.CELL_TYPE_NUMERIC:
newCell.setCellValue(oldCell.getNumericCellValue());
break;
case Cell.CELL_TYPE_BLANK:
newCell.setCellType(Cell.CELL_TYPE_BLANK);
break;
case Cell.CELL_TYPE_FORMULA:
newCell.setCellFormula(oldCell.getCellFormula());
break;
case Cell.CELL_TYPE_BOOLEAN:
newCell.setCellValue(oldCell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_ERROR:
newCell.setCellErrorValue(oldCell.getErrorCellValue());
break;
default:
break;
}
}
This seems to work and since I use the same style, the formatting is copied
as well.
However, some of the cells have data validations that renders as a listbox.
How can I copy the data validation from one cell to another? If the source
cell has a listbox I want the target cell to have one too.
/Bengt