摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

前言

在Java中,开发者可以使用一些开源的库(如Apache POI)来添加、修改和处理Excel中的数据:包括数字、文本、日期、列表等。每种数据验证类型都具有不同的参数和选项,可以根据需求进行设置。

本文小编将为大家介绍的是如何使用Java添加,修改和删除Excel数据验证。

添加数据验证

指定文本长度

Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
sheet.getRange("C2:E4").getValidation().add(ValidationType.TextLength, ValidationAlertStyle.Stop, ValidationOperator.Between, 2, 3);

添加日期验证

Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
Calendar date1 = new GregorianCalendar(2015, 11, 13);
Calendar date2 = new GregorianCalendar(2015, 11, 18);
sheet.getRange("C2:E4").getValidation().add(ValidationType.Date, ValidationAlertStyle.Stop, ValidationOperator.Between, date1, date2);

删除数据验证

当不想要数据验证的时候,可以调用delete方法删除一片区域(一片单元格)的数据校验,以上面的代码为例。已经在"C2:E4"中添加了数据校验,那可以用下面的代码移除。

Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
sheet.getRange("C2:E4").getValidation().delete();

修改数据验证

修改数据验证有两种方式

  1. 通过GcExcel提供的接口直接修改(setType,setAlertStyle,setOperator,setFormula1,setFormula2)
//直接修改validation
//修改validation的类型为文本长度
//修改比较类型为介于之间
//修改参数1为10,参数2为20
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
IValidation validation = sheet.getRange("C2:E4").getValidation();
validation.setType(ValidationType.TextLength);
validation.setOperator(ValidationOperator.Between);
validation.setFormula1(10);
validation.setFormula2(20);

​ 2.先用delete删除,然后再添加。

Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
sheet.getRange("C2:E4").getValidation().delete();
sheet.getRange("C2:E4").getValidation().add(ValidationType.TextLength, ValidationAlertStyle.Stop, ValidationOperator.Between, 2, 3);

数据验证是在数据处理场景中,比较常用的一种功能,用来检验数据处理后或者新填报的数据是否正确。

总结

以上就是如何使用Java操作Excel数据验证的方法,如果您想了解更多的接口方法,可以参考这些在线Demo示例:

https://demo.grapecity.com.cn/documents-api-excel-java/demos/modifyvalidation。

扩展链接:

如何在前端系统中使用甘特图

窗口函数大揭秘!轻松计算数据累计占比,玩转数据分析的绝佳利器

探秘移动端BI:发展历程与应用前景解析

高效数据管理:Java助力实现Excel数据验证的更多相关文章

  1. Java 设置Excel数据验证

    数据验证是Excel 2013版本中,数据功能组下面的一个功能,在Excel2013之前的版本,包含Excel2010 Excel2007称为数据有效性.通过在excel表格中设置数据验证可有效规范数 ...

  2. Java (新)将Excel数据读取到ListMap

    Java (新)将Excel数据读取到ListMap Maven依赖: pom.xml <!-- excel --> <dependency> <groupId>o ...

  3. kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件

    小菜利用工作之余编写了一款Java小插件,主要是用来验证Web请求的数据,是在服务器端进行验证,不是简单的浏览器端验证. 小菜编写的仅仅是一款非常初级的组件而已,但小菜为它写了详细的说明文档. 简单介 ...

  4. Java代码实现excel数据导入到Oracle

    1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码   import java.io.File; import java.io.Fi ...

  5. Java POI读取Excel数据,将数据写入到Excel表格

    1.准备 首先需要导入poi相应的jar包,包括: 下载地址:http://pan.baidu.com/s/1bpoxdz5 所需要的包的所在位置包括: 2.读取Excel数据代码 package S ...

  6. Java:将Excel数据导入到数据库(一眼就看会)

    所用Jar包 1. sqljdbc4.jar 连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008) 2.Jxl.jar 访问Excel的Jar包 注意:支持以.xls结尾 ...

  7. java数据库导入excel数据

    导入数据会将表格分为xls和xlsx两种格式,网上有很多案例 1.excel数据表中的数据不全,数据库中又是必填选项:---从sql语句入手:判断有无 来改变语句 //设置可有可无 字段 加一个必有字 ...

  8. Java POI 读取Excel数据转换为XML格式

    1.首先要下载poi相关的包:http://poi.apache.org/  ,以下是所需的jar包 2.贴上详细的代码 public class ExcelToXml { /** * 将excel的 ...

  9. Excel 数据验证:分类选择及输入限制

    几个简单设置让你的数据不再出错 如何快速选择某一大类中的细分小类 多级菜单 注意:引用可以创建二级目录,但是引用前应先用公式定义名称,然后引用,引用只能在本sheet操作.

  10. Excel 数据验证宏

    Sub 宏1() ' ' 宏1 宏 ' ' With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlVal ...

随机推荐

  1. 自然语言处理 Paddle NLP - 快递单信息抽取 (ERNIE 1.0)

    文档检索:需要把业务问题拆解成子任务.文本分类 -> 文本匹配 -> 等任务 -> Panddle API 完成子任务 -> 子任务再拼起来 介绍 在2017年之前,工业界和学 ...

  2. 4大数据实战系列-hive安装配置优化

    1 基础环境 1.1 版本预览 Cnetos 6.5 已安装 Hadoop 2.8 已安装集群 Hive 2.3 待安装 Mysql 5.6 已安装 Spark 2.1.1 已安装 1.2 机器环境 ...

  3. 搭载ChatGPT之后的表格插件又有哪些新的改变——Function calling增强

    摘要:本文由葡萄城技术团队于博客园原创并首发.葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在<大火的ChatGPT与SpreadJS结合会有哪些意想不到的效果>一文中提 ...

  4. CSS_相关问题及解决_持续更新

    css_margin塌陷问题 问题描述 <div class="father"> <div class="child1"></di ...

  5. .NET写一个自己的Lambda表达式与表达式树

    LambdaExpression继承Expression Expression又继承LambdaExpressio 所以,Expression与 Expression的区别在于:泛型类以静态类型的方法 ...

  6. 深入JS——理解闭包可以看作是某种意义上的重生

    JS中有一个非常重要但又难以完全掌握的概念,那就是闭包.很多JS程序员自以为已经掌握了闭包,但实质上是一知半解,就像"JS中万物皆为对象"这个常见的错误说法一样,很多前端开发者到现 ...

  7. Go 匿名返回值的坑——这道题据说 90% 的同学都答错了!

    今天分享的内容比较基础,准确地说是 Go 的语言特性--命名.匿名返回值. 先看下面的例子,猜测会输出什么? package main func main() { println(A()) print ...

  8. Oracle分组取最大值

    需求 该SQL是一个子SQL,需要查询出某个人所有过往履历中职务最高的 SELECT a."EMP_ID",a."CADRE_LEVEL" FROM (SELE ...

  9. Oracle快速拷贝数据

    游标拷贝数据 根据条件进行数据拷贝 -- 游标方式拷贝数据 DECLARE CURSOR cur IS SELECT * FROM JACKPOT WHERE TO_CHAR(JACKPOT.CREA ...

  10. 代码随想录算法训练营第四天| LeetCode 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II

    24. 两两交换链表中的节点         卡哥建议:用虚拟头结点,这样会方便很多. 本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点. 题目链接/ ...