When implementing data validation, check out the example from the User Guide [1]. Scroll down for the XSSF section. The DataValidation interface [2] is pretty small. Searching Google for "data validation POI" gives quite a few helpful examples how to use the class if the User Guide doesn't answer those questions.
[1] https://poi.apache.org/spreadsheet/quick-guide.html#Validation [2] https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataValidation.html On 6 Oct 2015 07:56, "Javen O'Neal" <[email protected]> wrote: > Please check out the patch I have in the queue for bug 58348 comment 4 > [1]. I don't think my implementation copies data validation or conditional > formating, but this would be the place to add it. > > [1] > https://bz.apache.org/bugzilla/attachment.cgi?id=33138&action=diff#src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java_sec5 > On 6 Oct 2015 06:36, "Bengt Rodehav" <[email protected]> wrote: > >> 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 >> >
