记录POI导入时单元格下拉框两种实现方式(excel数据有效性)
如果下拉选项字符少于225 使用方式1
public static HSSFSheet setHSSFValidation(HSSFSheet sheet, String[] textlist, int firstRow, int endRow, int firstCol,int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint
.createExplicitListConstraint(textlist);//textlist 下拉选项的 数组 如{列表1,列表2,。。。。。}
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
如果下拉选项较大 可以采用引用数据源的方式:
public static DataValidation SetDataValidation(HSSFWorkbook wb, String strFormula, int firstRow, int endRow, int strCol, int endCol) {
// 表示A列1-59行作为下拉列表来源数据
// String formula = "typelist!$A$1:$A$59" ;数据源位置
// 原顺序为 起始行 起始列 终止行 终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, strCol, endCol);
DataValidationHelper dvHelper = new HSSFDataValidationHelper(wb.getSheet("说明"));//说明=数据源所在的sheet页
DataValidationConstraint formulaListConstraint = dvHelper.createFormulaListConstraint(strFormula);
DataValidation dataValidation = dvHelper.createValidation(formulaListConstraint, regions); return dataValidation;
效果
记录POI导入时单元格下拉框两种实现方式(excel数据有效性)的更多相关文章
- Excel设置数据有效性实现单元格下拉菜单的3种方法(转)
http://blog.csdn.net/cdefu/article/details/4129136 一.直接输入: 1.选择要设置的单元格,譬如A1单元格: 2.选择菜单栏的“数据”→“有效性”→出 ...
- 记录几个爬取动态网页时的问题(下拉框,旧的元素无法获取,获取的源代码和f12看到的不一致,爬取延迟)
更新.....这个动态网页其实直接抓取ajax请求就可以了,很简单,我之前想复杂了,虽然也实现了,但是效率极低,不过没关系,就当作是对Selenium的一次学习吧 1.最近在爬取一个动态网页,其中为了 ...
- Combobox下拉框两级联动
下拉框的两级联动是我们开发中经常遇到一种情况.比如一个学生管理系统中,根据年级.科目及姓名查询学生考试成绩,年级和科目都是硬盘中的有限数据(数据库)而学生则可以有用户手动指定,这时在数据库中有年级和科 ...
- Linux 下wdcp支持两种安装方式
wdcp支持两种安装方式1 源码编译 此安装比较麻烦和耗时,一般是20分钟至一个小时不等,具体视机器配置情况而定2 RPM包安装 简单快速,下载快的话,几分钟就可以完成源码安装(ssh登录服务器,执行 ...
- linux下线程的两种封装方式
在网络编程的时候往往需要对Linux下原生的pthread库中的函数进行封装,使其使用起来更加方便,封装方法一般有两种:面向对象和基于对象,下面将分别介绍这两种方式,最后统一分析这两种方式的优缺点: ...
- InstallShield Limited Edition for Visual Studio 国内注册时国家无下拉框解决方法
注册地址:http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio 火狐 ...
- 记录下log4j的两种配置方式
XML文件配置 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configura ...
- jquery设置下拉框selected浏览器兼容方式
今天开发过程中偶然发现一个浏览器兼容性问题 当在某些浏览器下面时使用下面的语法会导致值虽然选中了,但是文本没有切换 var options = $("#select").find( ...
- ng-select 下拉的两种方式
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载
元素定位及其他操作 0.常见的识别元素的方法是什么? driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...
随机推荐
- 使用花生壳进行内网穿透实验SQLserver
在一次编写软件的过程中,想让远在河南的同学对试一试,但是他的电脑上没有与之对应的SQL数据库不能便不能够运行软件.于是我想到了远程连接.在使用花生壳的时候,遇到了一些问题,然而网络上并没有与之对应的解 ...
- 【TS】基础类型
在ts中定义基础类型, 语法 : let 变量名 : 数据类型 = 值 // 布尔类型 ----boolean let flag : boolean = true flag = false 在赋值的时 ...
- dotnet 缓存
Net 内置内存缓存 asp.net 中是有缓存的实现:HttpContext.Cache,缓存的数据是放到 Web 服务器的进程 内存里. 在控制台.WinForm.子线程.SignalR 等不支持 ...
- 一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。
前言 秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景.欢迎大家参与我们的开源项目,提交PR,提高竞争力.早日上岸,升职加薪. 知识点详解 秒杀系统架构图 秒杀流程图 秒杀系统设计 这篇 ...
- Distinct Paths
代码 #include<cstdio> using namespace std; const int N = 20 , mod = 1e9 + 7 , K = 10; int f[N + ...
- OpenLayers集成ECharts
1. 引言 OpenLayers是WebGIS中常用的开源JavaScript前端库,ECharts是常用的可视化开源JavaScript前端库 OpenLayers官网:OpenLayers - W ...
- mysql的双1设置是什么?
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL磁盘写入策略以及数据安全性的关键参数.如果innodb_flush_log_at_trx_ ...
- element ui 浏览器表单自动填充默认样式
::v-deep .el-input__inner { -webkit-text-fill-color: #000000; caret-color: #0a0a0a; box- ...
- nodejs 后台运行 forever
一.安装nodejs //安装必要的make以及gcc,gcc-c++编译器 yum -y install make gcc gcc-c++ //获取源码 wget http://nodejs.org ...
- C++中链表报错member access within null pointer of type 'ListNode'
报错原因:指针有指向空节点的可能,所以报错,C++中链表的使用比较严格 解决方法:在给指针确定指向节点之前,先判断此节点是否为空节点