POI:如何validation范围内的空单元格

我创build了一个Excel文件,一旦创build和下载,用户不允许在特定列中放置空单元格( 因为他将再次发送input的信息 )。

我用setEmptyCellAllowed(false)使用POI HSSFDataValidation
但是,当用户下载文件时,他仍然可以留下空单元格( 写入一些文本并删除之后 )。

有什么build议么?

这是我的代码:

 HSSFDataValidation dv = new HSSFDataValidation(); dv.setFirstColumn((short)19); dv.setLastColumn((short)19); dv.setFirstRow((short)4); dv.setLastRow((short)24); dv.setDataValidationType(DVConstraint.ValidationType.INTEGER); dv.setOperator(DVConstraint.OperatorType.BETWEEN); dv.setDataValidationType(HSSFDataValidation.DATA_TYPE_INTEGER); dv.setOperator(HSSFDataValidation.OPERATOR_BETWEEN); dv.setFirstFormula("0"); dv.setSecondFormula("1000"); //dv.setEmptyCellAllowed(true); dv.setEmptyCellAllowed(false); dv.setShowPromptBox(true); dv.setSurppressDropDownArrow(false); dv.setErrorStyle(HSSFDataValidation.ERROR_STYLE_STOP); //dv.createErrorBox("", ""); //dv.createPromptBox("", ""); sheet.addValidationData(dv); 

这不是直接回答你的问题,但是你可以使用try和catch块来自己写一些东西,如果用户把它保留为空的话: