Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java POI:如何验证范围内的空单元格_Java_Excel_Apache Poi - Fatal编程技术网

Java POI:如何验证范围内的空单元格

Java POI:如何验证范围内的空单元格,java,excel,apache-poi,Java,Excel,Apache Poi,我正在创建一个Excel文件,在该文件中,一旦创建并下载,用户就不允许在特定列中使用空单元格(因为他将使用输入的信息再次发送该文件) 我正在使用POI HSSFDataValidation和setEmptyCellAllowed(false)。 但是当用户下载文件时,他仍然可以留下空单元格(在写入一些文本并删除之后) 有什么建议吗 这是我的代码: HSSFDataValidation dv = new HSSFDataValidation(); dv.setFirstColumn((short)

我正在创建一个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);

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

您计划如何“验证”用户从未访问过的单元格?我相信你唯一真正保证所有单元格都不是空的是在用户提交后在服务器上进行验证。与web表单没有太大区别,您不能完全依赖客户端验证。首先,单元格已填充。但用户可以删除这些单元格的内容,然后将其留空。我要找的是一个验证,它要求用户写一些文本。什么是有效条目?如果用户输入“.”或“#####”或任何其他无意义的内容作为全文怎么办?我不认为Excel是适合这项工作的工具,但是我会听从在这方面使用过它的人的意见。单元格必须有整数值,并且验证工作已经很好了。