Java设置Excel数据验证的示例代码

数据验证是Excel 2013版本中,数据功能组下面的一个功能,在Excel2013之前的版本,包含Excel2010 Excel2007称为数据有效性。通过在excel表格中设置数据验证可有效规范数据输入。设置数据类型时,可设置如验证数字(数字区间/数字类型)、日期、文本长度等。下面通过Java程序代码演示数据验证的设置方法及结果。

工具:Free Spire.XLS for Java (免费版)

注:可通过官网下载,并解压将lib文件夹下的jar文件导入java程序;或者通过maven下载导入

参考如下Jar导入效果:

Java示例(供参考)

import com.spire.xls.*;

public class DataValidation {
    public static void main(String[] args) {
        //创建Workbook对象
        Workbook workbook = new Workbook();

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //在单元格B3中设置数字验证-仅允许输入1到100之间的数
        sheet.getCellRange("B2").setText("请输入1-100之间的数:");
        CellRange rangeNumber = sheet.getCellRange("B3");
        rangeNumber.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeNumber.getDataValidation().setFormula1("1");
        rangeNumber.getDataValidation().setFormula2("100");
        rangeNumber.getDataValidation().setAllowType(CellDataType.Decimal);
        rangeNumber.getDataValidation().setErrorMessage("Please input correct number!");
        rangeNumber.getDataValidation().setShowError(true);
        rangeNumber.getCellStyle().setKnownColor(ExcelColors.Color21);

        //在单元格B6中设置日期验证-仅允许输入1/1/1970到12/31/1970之间的日期
        sheet.getCellRange("B5").setText("请输入1/1/1970-12/31/1970之间的日期:");
        CellRange rangeDate = sheet.getCellRange("B6");
        rangeDate.getDataValidation().setAllowType(CellDataType.Date);
        rangeDate.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeDate.getDataValidation().setFormula1("1/1/1970");
        rangeDate.getDataValidation().setFormula2("12/31/1970");
        rangeDate.getDataValidation().setErrorMessage("Please input correct date!");
        rangeDate.getDataValidation().setShowError(true);
        rangeDate.getDataValidation().setAlertStyle(AlertStyleType.Warning);
        rangeDate.getCellStyle().setKnownColor(ExcelColors.Color16);

        //在单元格B9设置字符长度验证-仅允许输入5个字符以内的文本
        sheet.getCellRange("B8").setText("请输入不超过5个字符的文本:");
        CellRange rangeTextLength = sheet.getCellRange("B9");
        rangeTextLength.getDataValidation().setAllowType(CellDataType.TextLength);
        rangeTextLength.getDataValidation().setCompareOperator(ValidationComparisonOperator.LessOrEqual);
        rangeTextLength.getDataValidation().setFormula1("5");
        rangeTextLength.getDataValidation().setErrorMessage("Enter a Valid String!");
        rangeTextLength.getDataValidation().setShowError(true);
        rangeTextLength.getDataValidation().setAlertStyle(AlertStyleType.Stop);
        rangeTextLength.getCellStyle().setKnownColor(ExcelColors.Color14);

        //在单元格B12设置数字验证-仅允许输入大于等于18的整数
        sheet.getCellRange("B11").setText("请输入大于等于18的整数:");
        CellRange rangeinteger = sheet.getCellRange("B12");
        rangeinteger.getDataValidation().setAllowType(CellDataType.Integer);
        rangeinteger.getDataValidation().setCompareOperator(ValidationComparisonOperator.GreaterOrEqual);
        rangeinteger.getDataValidation().setFormula1("18");
        rangeinteger.getDataValidation().setErrorMessage("Enter a Valid String!");
        rangeinteger.getDataValidation().setShowError(true);
        rangeinteger.getDataValidation().setAlertStyle(AlertStyleType.Stop);
        rangeinteger.getCellStyle().setKnownColor(ExcelColors.LightGreen1);

        //第二列自适应宽度
        sheet.autoFitColumn(2);

        //保存文档
        workbook.saveToFile("DataValidation.xlsx", ExcelVersion.Version2016);
    }
}

数据验证设置效果:

到此这篇关于Java设置Excel数据验证的示例代码的文章就介绍到这了,更多相关Java Excel数据验证内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java大批量导出Excel数据的优化过程

    目录 背景 问题和解决方案 遇到的问题 解决步骤 整理工具类 参考资料 背景 团队目前在做一个用户数据看板(下面简称看板),基本覆盖用户的所有行为数据,并生成分析报表,用户行为由多个数据来源组成(餐饮.生活日用.充值消费.交通出行.通讯物流.交通出行.医疗保健.住房物业.运动健康...), 基于大量数据的组合.排序和统计.根据最新的统计报告,每天将近100W+的行为数据产生,所以这个数据基数是非常大的. 而这个数据中心,对接很多的业务团队,这些团队根据自己的需要,对某些维度进行筛选,然后直接从我

  • Java Excel数据导入数据库的方法

    目录 1.根据业务需求设计数据库表 2.根据数据库表设计一个Excel模板 3.环境准备 4.通过插件生成表对应的实体类 5.自定义编写工具类 6.编写具体业务逻辑Service 7.在dao层对应的xml文件中,编写批量上传的方法 8.Controller实现业务的控制 9.通过Swagger测试接口 10.在数据和控制台中查看导入效果 总结 1.根据业务需求设计数据库表 2.根据数据库表设计一个Excel模板 模板的每列属性必须与表字段一一对应 3.环境准备 我这里项目环境是基于Spring

  • Java 如何读取Excel格式xls、xlsx数据工具类

    目录 Java 读取Excel格式xls.xlsx数据工具类 需要POI的jar包支持 调用方式 使用poi读取xlsx格式的Excel总结 今天遇到的坑 我使用的是springmvc,首先是controller部分 然后是读取Excel文件部分,也就是service部分 spring-servlet.xml 配置如下 最初的maven是这么配置的 Java 读取Excel格式xls.xlsx数据工具类 需要POI的jar包支持 调用方式 ReadExcelTest excelTest = ne

  • Java Hutool工具实现验证码生成及Excel文件的导入和导出

    目录 1.Hutool工具简介 2.Hutool的相关依赖 3.验证码工具 4.excel工具 1.Hutool工具简介 HuTool工具(糊涂工具),第三方插件工具,简化操作,是国产的一个产品,界面简洁易懂,比较人性化.(上班可能经常用的到,建议收藏起来) Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". 2.Hutool的相关依赖 maven项目在pom.xml添

  • 解决java读取EXCEL数据变成科学计数法的问题

    1.如下图中的检测值存到数据库是科学计数法 2 经过代码处理后 3 只需要对你读到的字符串进行如下操作 BigDecimal bd = new BigDecimal("读到的值"); String checkValue = bd.toPlainString(); 补充:java excel 导出时长数字变成科学计数法的解决方法 今天在做excel导出的时候,导出的表格中长度大于11的数字会自动用科学计数法显示. 一开始,我想着直接将数据全部转为string类型,没想到还是无法解决问题(

  • Java设置Excel数据验证的示例代码

    数据验证是Excel 2013版本中,数据功能组下面的一个功能,在Excel2013之前的版本,包含Excel2010 Excel2007称为数据有效性.通过在excel表格中设置数据验证可有效规范数据输入.设置数据类型时,可设置如验证数字(数字区间/数字类型).日期.文本长度等.下面通过Java程序代码演示数据验证的设置方法及结果. 工具:Free Spire.XLS for Java (免费版) 注:可通过官网下载,并解压将lib文件夹下的jar文件导入java程序:或者通过maven下载导

  • Java 设置Excel条件格式示例代码(高亮条件值、应用单元格值/公式/数据条等类型)

    概述 在Excel中,应用条件格式功能可以在很大程度上改进表格的设计和可读性,用户可以指定单个或者多个单元格区域应用一种或者多种条件格式.本篇文章,将通过Java程序示例介绍条件格式的设置方法,设置条件格式时,因不同设置需要,本文分别从以下示例要点来介绍: 示例1: 1. 应用条件格式用于高亮重复.唯一数值 2. 应用条件格式用于高亮峰值(最高值.最低值) 3. 应用条件格式用于高亮低于或高于平均值的数值 示例2: 1. 应用单元格值类型的条件格式 2. 应用公式类型的条件格式 3. 应用数据条

  • Java 静态数据初始化的示例代码

    无论创建多少个对象,静态数据都只占用一份存储区域.static关键字不能应用于局部变量,因此它只能作用于域.如果一个域是静态的基本类型域,且也没有对它进行初始化,那么它就会获得基本类型的标准初始值:如果它是一个对象引用,那么它的默认初始值就是null class Bowl { public Bowl(int marker) { System.out.println("Bowl(" + marker + ")"); } void f1(int marker) { Sy

  • Java实现PDF转HTML/Word/Excel/PPT/PNG的示例代码

    从 Maven 下载 Aspose.PDF 通过将以下配置添加到 pom.xml, 您可以直接从基于Maven的项目 轻松地使用Aspose.PDF for Java . <repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>https://repository.aspose.com/repo/</url> </repository

  • C++实现将数据写入Excel工作表的示例代码

    目录 安装Spire.XLS for C++ 在 C++ 中将文本或数字值写入单元格 完整代码 效果图 在 C++ 中将数组写入指定的单元格范围 完整代码 效果图 直观的界面.出色的计算功能和图表工具,使Excel成为最流行的个人计算机数据处理软件.在独立的数据包含的信息量太少,而过多的数据又难以理清头绪时,制作成表格是数据管理的最有效手段之一.这样不仅可以方便整理数据,还可以方便我们查找和应用数据.后期我们还可以对具有相似表格框架,相同性质的数据进行合并汇总工作.在本文中,您将学习如何使用 S

  • Mybatis拦截器实现数据权限的示例代码

    在我们日常开发过程中,通常会涉及到数据权限问题,下面以我们常见的一种场景举例: 一个公司有很多部门,每个人所处的部门和角色也不同,所以数据权限也可能不同,比如超级管理员可以查看某张 表的素有信息,部门领导可以查看该部门下的相关信息,部门普通人员只可以查看个人相关信息,而且由于角色的 不同,各个角色所能查看到的数据库字段也可能不相同,那么此处就涉及到了数据权限相关的问题.那么我们该如 何处理数据权限相关的问题呢?我们提供一种通过Mybatis拦截器实现的方式,下面我们来具体实现一下 pom.xml

  • 基于Java实现扫码登录的示例代码

    目录 基本介绍 原理解析 1. 身份认证机制 2. 流程概述 代码实现 1. 环境准备 2. 主要依赖 3. 生成二维码 4. 扫描二维码 5. 确认登录 6. PC 端轮询 7. 拦截器配置 效果演示 1. 工具准备 2. 数据准备 3. 扫码登录流程展示 结语 基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学习过程. 实际上是面试的时候被问到

  • Java编程Post数据请求和接收代码详解

    这两天在做http服务端请求操作,客户端post数据到服务端后,服务端通过request.getParameter()进行请求,无法读取到数据,搜索了一下发现是因为设置为text/plain模式才导致读取不到数据 urlConn.setRequestProperty("Content-Type","text/plain; charset=utf-8"); 若设置为以下方式,则通过request.getParameter()可以读取到数据 urlConn.setReq

  • ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】

    本文实例讲述了ThinkPHP框架实现导出excel数据的方法.分享给大家供大家参考,具体如下: 在ThinkPHP框架下,导出excel数据的方法示例: 在操作前,应该在系统框架的扩展目录中添加ORG库,即要包含ThinkPHP\Extend\Library\ORG\Util\PHPExcel.class.php文件及其相关支持文件. <?php header("Content-type: text/html; charset=utf-8"); class MesTestAct

  • 详解C#设置Excel数据自适应行高、列宽的2种情况

    Excel表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小.数据内容长度不一而出现,列宽过宽.过窄或者行高过大.过小的问题.常见的解决方法是调整行高.列宽.在Microsoft Excel中,在单元格格式设置中可手动设置自适应行高或自适应列宽,但通过代码,我们可以通过方法AutoFitColumns()或者AutoFitRows()来设置指定数据范围或整个工作表的自适应行高.列宽.这里设置自适应分以下2种情况来进行: 1. 固定数据,设置行高.列宽自适应数据 2. 固定行高.列宽,设

随机推荐