Apache-poi Restrict the user to select only the values of drop down list
apache-poi, excel, java
Solution
If you are using HSSFWorkbook use below
DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(new String[]{"ABC"});
DataValidation dataValidation = new HSSFDataValidation(programList, dvConstraint);
dataValidation.setSuppressDropDownArrow(true);
dataValidation.setShowErrorBox(true);
dataValidation.setShowPromptBox(true);
targetSheet.addValidationData(dataValidation);
For XSSFWorkbook, use as below
DataValidationHelper validationHelper=new XSSFDataValidationHelper(targetSheet);
DataValidationConstraint constraint =validationHelper.createExplicitListConstraint(new String[]{"ABC"});
DataValidation dataValidation = validationHelper.createValidation(constraint, programList);
dataValidation.setSuppressDropDownArrow(true);
dataValidation.setShowErrorBox(true);
dataValidation.setShowPromptBox(true);
targetSheet.addValidationData(dataValidation);
Problem
How can I make the user select only one of the values in the drop down list and not enter his own value in the excel sheet. I am using Java library Apache-POI