需求背景:序列验证在Excel中主要用于限制单元格的数据来自于某些范围,避免客户输入一些非法数据。在拿到历史Excel文件时,需要判断单元格是否为序列数据验证,如果是的话则将单元格锁定,后续结合表单保护,控制其不可选中也不可修改。
实现方式:
需要用到的api主要有两个sheet.getDataValidator(rowIndex,colIndex),该方法可以获取单元格上是否有数据验证。拿到数据验证对象之后,调用dv自己的type()方法,返回的是一个枚举,具体枚举类型展示如下:
可以看到,返回值为3时,表示数据验证类型为序列验证。综上,实现该需求的核心代码为:
- sheet.getDataValidator(rowIndex,colIndex).type() == 3
复制代码
|
|