java excel xlsx 增加数据验证

隐藏表下拉框

   // 创建隐藏工作表存储下拉框数据String hiddenSheetName = "HiddenSheet"+System.currentTimeMillis();Sheet hiddenSheet =  workbook.createSheet(hiddenSheetName);//设置隐藏sheetworkbook.setSheetHidden(workbook.getSheetIndex(hiddenSheetName), true);for (int i = 0; i < dropdownList.size(); i++) {Row row = hiddenSheet.createRow(i);Cell cityCellHidden = row.createCell(0);cityCellHidden.setCellValue(dropdownList.get(i));}// 获取DataValidationHelper对象DataValidationHelper helper = mainSheet.getDataValidationHelper();// 定义数据验证的范围CellRangeAddressList addressList = new CellRangeAddressList(startRow,  65535, columnIndex, columnIndex);// 创建数据验证约束 公式可以写成"Sheet2!$A$1:$A$10"。DataValidationConstraint constraint = helper.createFormulaListConstraint(hiddenSheetName+"!$A$1:$A$"+dropdownList.size());//生成验证规则DataValidation validation = helper.createValidation(constraint, addressList);// 设置错误提示信息validation.setShowErrorBox(true);validation.setSuppressDropDownArrow(true);

下拉框

   DataValidationHelper helper = mainSheet.getDataValidationHelper();DataValidationConstraint constraint = helper.createExplicitListConstraint(dropdownList.toArray(new String[0]));CellRangeAddressList addressList = new CellRangeAddressList(startRow, 65535, columnIndex, columnIndex);DataValidation validation = helper.createValidation(constraint, addressList);validation.setShowErrorBox(true);validation.setSuppressDropDownArrow(true);mainSheet.addValidationData(validation);

时间格式及范围验证

       // 创建数据验证助手DataValidationHelper helper = sheet.getDataValidationHelper();CellRangeAddressList dateAddressList = new CellRangeAddressList(firstRow, lastRow, columnIndex, columnIndex);// 获取 LocalDateTime 的最小值LocalDateTime minLocalDateTime = LocalDateTime.MIN;// 获取 LocalDateTime 的最大值LocalDateTime maxLocalDateTime = LocalDateTime.MAX;DataValidationConstraint dataValidationConstraint = helper.createDateConstraint(DataValidationConstraint.OperatorType.BETWEEN,minLocalDateTime.format(DateTimeFormatter.ofPattern(dateFormat)),maxLocalDateTime.format(DateTimeFormatter.ofPattern(dateFormat)),dateFormat);DataValidation validation = helper.createValidation(dataValidationConstraint, dateAddressList);validation.setShowErrorBox(true);validation.setSuppressDropDownArrow(true);validation.setShowErrorBox(true);validation.createErrorBox("标题","内容");sheet.addValidationData(validation);

integer 验证

// 创建数据验证助手DataValidationHelper helper = sheet.getDataValidationHelper();CellRangeAddressList intAddressList = new CellRangeAddressList(firstRow, lastRow, columnIndex, columnIndex);// 获取 LocalDateTime 的最大值LocalDateTime maxLocalDateTime = LocalDateTime.MAX;DataValidationConstraint dataValidationConstraint = helper.createIntegerConstraint(DataValidationConstraint.OperatorType.BETWEEN,String.valueOf(Integer.MIN_VALUE),String.valueOf(Integer.MAX_VALUE));DataValidation validation = helper.createValidation(dataValidationConstraint, intAddressList);validation.setShowErrorBox(true);validation.setSuppressDropDownArrow(true);sheet.addValidationData(validation);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux中安装部署Jenkins,成功构建springboot项目详细教程

参考别人配置Jenkins的git地址为https&#xff0c;无法连上github拉取项目&#xff0c;所以本章节介绍通过配置SSH地址来连github拉取项目 目录&#xff1a; 1、springboot项目 1.1 创建名为springcloudproject的springboot项目工程 1.2 已将工程上传到github中&#xff0c;g…

提升数据洞察力:五款报表软件助力企业智能决策

概述 随着数据量的激增和企业对决策支持需求的提升&#xff0c;报表软件已经成为现代企业管理中不可或缺的工具。这些软件能够帮助企业高效处理数据、生成报告&#xff0c;并将数据可视化&#xff0c;从而推动更智能的决策过程。 1. 山海鲸报表 概述&#xff1a; 山海鲸报表…

MySQL中replace函数用法

语法&#xff1a;replace(field,search,replace) 说明&#xff1a;field - 数据库表的列名 search - 需要替换的字符串 replace - 替换成的字符串 语义&#xff1a;将列名&#xff1a;field 中出现的search字符串&#xff0c;全部替换成replace字符串。 例子&#xff1a; …

Wireshark Lua 插件教程

本⽂主要介绍 Lua 脚本在 Wireshark 中的应⽤, Lua 脚本可以在 Wireshark 中完成如下功能: 从⽹络包中提取数据, 或者统计⼀些数据包(Dumper) 需要解析⼀种 Wireshark 不提供原⽣⽀持的协议(Dissector) ⽰例 协议解析 VREP 协议是 NOGD 框架对于 TRIP 协议的⼀种延伸和扩展…

吐血整理:在 Docker 中运行 Milvus

直接用docker 错误命令&#xff08;这个我试了三遍&#xff0c;浪费了很多时间&#xff09;&#xff1a; docker run -d --name milvus -p 19530:19530 -p 9091:9091 -v /var/lib/milvus:/var/lib/milvus milvusdb/milvus:latest 先看报错&#xff1a; 2025-02-24 16:02:39 …

【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt

在移动应用开发中&#xff0c;数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说&#xff0c;缓存&#xff08;Cache&#xff09;是一种常见的数据存储方式&#xff0c;它能够提高应用的性能和用户体验。然而&#xff0c;缓存数据在用户清除缓存或清除应用数…

【Excel】 Power Query抓取多页数据导入到Excel

抓取多页数据想必大多数人都会&#xff0c;只要会点编程技项的人都不会是难事儿。那么&#xff0c;如果只是单纯的利用Excel软件&#xff0c;我还真的没弄过。昨天&#xff0c;我就因为这个在网上找了好久发好久。 1、在数据-》新建查询-》从其他源-》自网站 &#xff0c;如图 …

星环科技推出DeepSeek全场景解决方案:即开即用、企业级部署、端侧智能三位一体

星环科技&#xff08;688031.SH&#xff09;正式发布DeepSeek全场景解决方案&#xff0c;全面覆盖个人用户、企业客户及行业场景需求&#xff0c;为用户提供从个人到企业、从云端到本地的全方位AI应用支持&#xff0c;为不同需求的用户提供了灵活、高效且安全的AI解决方案。 省…

let、const【ES6】

‌“我唯一知道的就是我一无所知。” - 苏格拉底 目录 块级作用域&#xff1a;var、let、const的对比&#xff1a;Object.freeze()&#xff1a; 块级作用域&#xff1a; 块级作用域指由 {} 包围的代码块&#xff08;如 if、for、while、单独代码块等&#xff09;形成的独立作用…

C++ 常见面试知识点

主要介绍C常见面试题 1、说一下你理解的C中的四种智能指针 常用接口 T* get(); T& operator*(); T* operator->(); T& operator(const T& val); T* release(); 将 封装在内部的指针置为nullptr, 但并不会破坏指针所指向的内容, 函 数返回的是内部指针置空之前…

AWS API Gateway灰度验证实现

在微服务架构中,灰度发布(金丝雀发布)是验证新版本稳定性的核心手段。通过将小部分流量(如 10%)导向新版本服务,可以在不影响整体系统的情况下快速发现问题。AWS API Gateway 原生支持流量按比例分配功能,无需复杂编码即可实现灰度验证。本文将详细解析其实现方法、最佳…

基于coze+微信小程序实现图片上传并利用大模型解析

项目截图&#xff1a; 实现代码&#xff08;直接搬去可用&#xff09; 前提&#xff1a;需要填写你的oss配置coze的api授权配置&#xff01;&#xff01;&#xff01; <template><view class"container"><!-- 高斯模糊背景 --><view class&qu…

Spring-boot3.4最新版整合swagger和Mybatis-plus

好家伙,今天终于开始用spring-boot3开始写项目了&#xff0c;以后要彻底告别1.x和2.x了&#xff0c;同样的jdk也来到了最低17的要求了,废话不多说直接开始 这是官方文档的要求jdk最低是17 maven最低是3.6 一. 构建工程,这一步就不需要给大家解释了吧 二. 整合Knife4j 1.大于…

jQuery UI API 文档

jQuery UI API 文档 引言 jQuery UI 是一个基于 jQuery 的用户界面库,它提供了丰富的交互式组件和效果,使得网页开发变得更加简单和高效。本文档旨在为开发者提供全面的 jQuery UI API 信息,帮助您更好地理解和应用 jQuery UI。 jQuery UI 简介 什么是 jQuery UI? jQu…

java GUI编程实现一个计算器

概述 闲来无事&#xff0c;利用java awt库写个简单的计算器玩玩。 实现 pom.xml <dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26</version></dependency&…

C#装箱拆箱机制详解

在C#中&#xff0c;装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09; 是值类型与引用类型之间转换的核心机制。它们的实现直接影响程序的性能和类型安全。 一、装箱&#xff08;Boxing&#xff09; 定义&#xff1a; 将值类型转换为引用类型&#…

MySQL 8.4 SQL 全攻略:所有知识点与实战场景

一、引言 MySQL 作为一款广泛使用的开源关系型数据库管理系统&#xff0c;在数据存储和管理领域占据着重要地位。MySQL 8.4 版本在性能、功能和安全性等方面都有了显著的提升。本文将全面介绍 MySQL 8.4 中 SQL 的各种知识点&#xff0c;并结合实战场景进行详细讲解&#xff0…

Qt监控系统远程回放/录像文件远程下载/录像文件打上水印/批量多线程极速下载

一、前言说明 在做这个功能的时候&#xff0c;着实费了点心思&#xff0c;好在之前做ffmpeg加密解密的时候&#xff0c;已经打通了极速加密保存文件&#xff0c;主要就是之前的类中新增了进度提示信号&#xff0c;比如当前已经处理到哪个position位置&#xff0c;发个信号出来…

超高速工业相机的应用

超高速工业相机一般安装在机器流水线上代替人眼来做测量和判断&#xff0c;通过数字图像摄取目标转换成图像信号&#xff0c;传送给专用的图像处理系统。图像处理系统对这些信号进行各种运算来抽取目标的特征&#xff0c;进而根据判别的结果来控制现场的设备动作。一般来说&…

Plugin ‘mysql_native_password‘ is not loaded`

Plugin ‘mysql_native_password’ is not loaded mysql_native_password介绍1. 使用默认的认证插件2. 修改 my.cnf 或 my.ini 配置文件3. 加载插件&#xff08;如果确实没有加载&#xff09;4. 重新安装或检查 MySQL 版本 遇到错误 ERROR 1524 (HY000): Plugin mysql_nativ…