RightatthestartIshouldsaythatIhaveneverdonethismyselfandthatIgotthispieceofcodefromadiscussionthatwasledbyPierreLavignotteandcontributedtobyafewotheruserssocanclaimnocreditatallifitworks.
Havingsaidallofthat,IthinkthatyouneedtolookattheHSSFDataValidationclass.AsfarasIcansee,itusesanamedrangeofcellstoprovidethebasisforthevalidationoftheinputausermakes.Further,itseemsthatitispossibletomakethisvalidationworkinafewdifferentways,oneofwhihcistouseadropdownlist.
Ihavenottriedortestedthiscodemyself-itwasalwayssomethingIintendedtodowhenIgotthetime-socanmakenopromisesforit.Nevertheless,hereisthecodethatthegroupworkedon;
HSSFSheetsheet=wb.getSheet(\"Sheet1\");
HSSFNamenamedRange=wb.createName();
namedRange.setNameName(\"NAMEDAREA\");
namedRange.setReference(\"Sheet1!$A$1:$A$2\");
intstart_row=(short)0;
StringstrFormula=\"$A$1:$A$2\";
HSSFDataValidationdata_validation=new
HSSFDataValidation((short)(start_row),(short)1,(short)(start_row),(short)1);
data_validation.setDataValidationType(HSSFDataValidation.DATA_TYPE_LIST);
data_validation.setFirstFormula(strFormula);
data_validation.setSecondFormula(null);
data_validation.setExplicitListFormula(true);
data_validation.setSurppressDropDownArrow(false);
data_validation.setEmptyCellAllowed(true);
data_validation.setShowPromptBox(false);
dta_validation.createErrorBox(\"Invalidinput!\",\"Somethingiswrong.checkcondition!\");
sheet.addValidationData(data_validation);
GoodluckandIhopeitworksforyou. |