2

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

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

有什么建议么?

这是我的代码:

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);
4

1 回答 1

0

这不是直接回答您的问题,但如果用户将其保留为空白,您可以使用 try 和 catch 块自己在单元格中写入内容:

于 2014-03-03T08:39:44.207 回答