java如何根据ApachePOI中另一个单元格中的值禁用单元格中的编辑?
我有一个要求,我只需要向用户请求一个标志,如果该标志为真,我需要他在该行的另一个单元格中输入一个数字。 如果为false,则该单元格应不可编辑。 我知道如何限制单元格,但我不知道这种条件限制。
你可以在下面搜索框中键入要查询的问题!
我有一个要求,我只需要向用户请求一个标志,如果该标志为真,我需要他在该行的另一个单元格中输入一个数字。 如果为false,则该单元格应不可编辑。 我知道如何限制单元格,但我不知道这种条件限制。
# 1 楼答案
如果在
apache poi
分析工作表时A
列中的标志已经存在,那么CellStyle.setLocked可以设置为False
,如果A
列中有True
。因此,如果工作表受到保护,这些单元格将不会被锁定并可编辑但是,如果
A
列中的True
或False
将在Excel
GUI中更改,则这是不可能的,因为在更改A
列中的值时,它不会有条件更改。为此,必须有条件格式化单元格锁定的可能性。但这种可能性并不存在,至少在不使用VBA
的情况下是不存在的然后,只有数据验证是可能的,当
B
获取值时,它会检查A
是否为真,如果不是,则发出警报Data Validations可以使用apache poi
设置例如:
如上所述,在更改列
A
中的单元格时,可以使用VBA
事件对单元格锁定进行条件格式化。但是apache poi
不提供创建VBA
代码。因此,如果这是必需的,那么必须使用Excel
模板,该模板已经包含了这些宏