POI操作EXCEL增加下拉框


文章目录

    • POI操作EXCEL增加下拉框


POI操作EXCEL增加下拉框

有时候通过excel将数据批量导入到系统,而业务操作人员对于一些列不想手动输入,而是采用下拉框的方式来进行选择

在这里插入图片描述

采用隐藏sheet页的方式来进行操作

String sheetName = "supplier_hidden_sheet";

HSSFSheet supplierSheet = workbook.createSheet(sheetName);//隐藏的sheet,用于存放下拉框的限定值
int count = 0;
for(String supplierName : suppliers){
    supplierSheet.createRow(count++).createCell(0).setCellValue(supplierName);
}
      
String col = "A";

//设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(1, dataList.size(), supplierColumn, supplierColumn);
// 这是表示从隐藏sheet页的哪列哪行到哪列哪行  如该格式 supplier_hidden_sheet!$A$1:$A$73 
String cell = "\""+sheetName +"!$"+col+"$1:$"+col+"$"+suppliers.size()+"\"";
// 引用ShtDictionary 的单元格
DVConstraint constraint = DVConstraint.createFormulaListConstraint("INDIRECT("+cell+ ")");
// 数据检验为该格式  =INDIRECT("supplier_hidden_sheet!$A$1:$A$73")
HSSFDataValidation dataValidate = new HSSFDataValidation(regions, constraint);
sheet.addValidationData(dataValidate);
workbook.setSheetHidden(1,true);

可以在EXCEL中的数据有效性看到数据来源

在这里插入图片描述

参考文献

  • POI操作EXCEL增加下拉框

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python记录

1.冒泡排序 时间复杂度O(n^2) 选择、插入都是 def bubble(data, reverse):for i in range(len(data)-1):for j in range(len(data)-i-1):if data[j] > data[j1]:data[j], data[j1] data[j1], data[j]if reverse:data.reverse()return data 2.快速排序 时间…

基于深度学习的文本情感原因提取研究综述——论文阅读

前言 既然要学习情感分析,那么肯定还要了解情感原因对抽取的发展历程,所以我又搜了一篇研究综述,虽然是2023年发表的,但是里面提及到的历程仅停留到2022年。这篇综述发布在TASLP期刊,是音频、声学、语言信号处理的顶级…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21

根据状态转移表实现时序电路 描述 某同步时序电路转换表如下,请使用D触发器和必要的逻辑门实现此同步时序电路,用Verilog语言描述。 电路的接口如下图所示。 输入描述: input A , input clk , …

结构设计模式 -装饰器设计模式 - JAVA

装饰器设计模式 一. 介绍二. 代码示例2.1 抽象构件(Component)角色2.2 具体构件(Concrete Component)角色2.3 装饰(Decorator)角色2.4 具体装饰(Concrete Decorator)角色2.5 测试 结…

【HTML5】html5开篇基础(1)

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…

【优选算法之前缀和】No.6--- 经典前缀和算法

文章目录 前言一、前缀和例题模板:1.1 【模板】前缀和1.2 【模板】⼆维前缀和1.3 寻找数组的中⼼下标1.4 除⾃⾝以外数组的乘积1.5 和为 K 的⼦数组1.6 和可被 K 整除的⼦数组1.7 连续数组1.8 矩阵区域和 前言 👧个人主页:小沈YO. &#x1f6…

Python酷玩之旅_mysql-connector

前言 Python作为数据科学、机器学习等领域的必选武器,备受各界人士的喜爱。当你面对不同类型、存储于各类介质的数据时,第一时间是不是要让它亮个相?做个统计,画个图表,搞个报表… 等等。 正如Java中的JdbcDriver一样…

亲测好用,ChatGPT 3.5/4.0新手使用手册,最好论文指令手册~

本以为遥遥领先的GPT早就普及了,但小伙伴寻找使用的热度一直高居不下,其实现在很简单了! 国产大模型快200家了,还有很多成熟的国内AI产品,跟官网一样使用,还更加好用~ ① 3.5 大多数场景是够用的&#xff…

OpenCV特征检测(12)检测图像中的潜在角点函数preCornerDetect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算用于角点检测的特征图。 该函数计算源图像的基于复杂空间导数的函数 dst ( D x src ) 2 ⋅ D y y src ( D y src ) 2 ⋅ D x x src − 2 …

【Linux】解锁管道通信和共享内存通信,探索进程间通信的海洋

目录 引言: 1、进程间通信基础介绍 1.1为什么需要在进程之间通信? 1.2进程间通信是什么? 1.3我们具体如何进行进程间的通信呢? a.一般规律: b.具体做法 2.管道 2.1什么是管道 2.2匿名管道: 创建…

Zotero进阶指南:7个插件让文献管理变得前所未有的简单

还在为海量文献管理头疼吗?还在为找不到合适的插件犯愁吗?别急,今天我就要带你解锁Zotero的终极武器 - 那些让你爱不释手的必备插件! 作为一个从小白到文献管理达人的过来人,我可以负责任地说:没有这些插件,你的Zotero只能发挥一半功力!安装了这些插件,你的效率绝对能飙升! …

计算机毕业设计之:基于微信小程序的电费缴费系统(源码+文档+讲解)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

关于LLC知识18(公式的理解)

公式中有三个未知数:x,k,Q 1、其中,x为归一化频率,开关频率f与谐振频率fr的比值; k:励磁电感和谐振电感的比值Lm/Lr Q:第一谐振频率点的感抗与Rac的比值2fL/Rac 2、KLm/Lr,其中fr11/2&#…

Qt/C++ 多线程同步机制详解及应用

在多线程编程中,线程之间共享资源可能会导致数据竞争和不一致的问题。因此,采用同步机制确保线程安全至关重要。在Qt/C中,常见的同步机制有:互斥锁(QMutex、std::mutex)、信号量(QSemaphore&…

deepin桌面版连接windows远程桌面

在Linux系统中,要登录到Windows系统,通常可以使用远程桌面协议(RDP)。你需要在Linux系统上安装RDP客户端。 使用如下命令安装rdp协议: sudo apt-get install xrdp 安装成功后,启动rdp服务。 sudo systemctl start xrdp 有了r…

【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】

【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】 1、前言说明2、流程说明3、现场提交(线下)4、网上提交1-起诉书样例2-起诉书编写(1)原告信息:&…

Vue3.0组合式API:使用reactive()、ref()创建响应式代理对象

Vue3.0组合式API系列文章: 《Vue3.0组合式API:setup()函数》 《Vue3.0组合式API:使用reactive()、ref()创建响应式代理对象》 《Vue3.0组合式API:computed计算属性、watch监听器、watchEffect高级监听器》 《Vue3.0组合式API&…

漏洞挖掘 | Selenium Grid 中的 SSRF

Selenium 网格框架上的基本服务器端请求伪造 最近,我正在阅读漏洞文章看到Peter Jaric写的一篇 Selenium Grid 文章;他解释了 Selenium Grid 框架上缺乏身份验证和安全措施强化的问题。 在网上进行了更多搜索,我发现 Selenium Grid 开箱即用…

音视频入门基础:FLV专题(3)——FLV header简介

一、引言 本文对FLV格式的FLV header进行简介,FLV文件的开头就是FLV header。 进行简介之前,请各位先从《音视频入门基础:FLV专题(1)——FLV官方文档下载》下载FLV的官方文档《video_file_format_spec_v10_1.pdf》和…

【第十二章:Sentosa_DSML社区版-机器学习之回归】

目录 12.1 线性回归 12.2 决策树回归 12.3 梯度提升决策树回归 12.4 保序回归 12.5 XGBoost回归 12.6 随机森林回归 12.7 广义线性回归 12.8 LightGBM回归 12.9 因子分解机回归 12.10 AdaBoost回归 12.11 KNN回归 12.12 高斯过程回归 12.13 多层感知机回归 【第十…