在我们日常开发中,经常需要使用poi操作excel文件,现在就简单介绍一下在poi中是如何生成下拉选的。

1.创建workbook

2.创建数据约束

3.设置数据的有效性

@Test
public void test生成下拉选01() throws IOException {
// 创建一个workbook
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("下拉选测试");
// 四个参数依次的意思是:开始行,结束行,开始列,结束列 此处表示sheet页中的第一个单元格
CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
// 创建一个列表约束
DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(new String[] { "JAVA", "C#", "C++" });
// 创建一个数据的有效性
DataValidation dataValidation = new HSSFDataValidation(addressList, dvConstraint);
// false表示下拉选
dataValidation.setSuppressDropDownArrow(false);
dataValidation.setErrorStyle(DataValidation.ErrorStyle.STOP);
// 当单元格中的值不是下拉选中的值的一个提示
dataValidation.createErrorBox("出错啦", "请从下拉选中选择");
// 鼠标移到单元格上的提示
dataValidation.createPromptBox("提示", "请选择下拉选中的值");
sheet.addValidationData(dataValidation);
OutputStream os = new FileOutputStream("d:/2.xls");
wb.write(os);
os.close();
}

   效果:

poi实现生成下拉选的更多相关文章

  1. poi实现生成下拉选联动

    在我们实际的程序开发中,经常需要用到从excel导入数据中系统中,而为了防止用户在excel中乱输入文字,有些需要用到下拉选的地方,就需要从程序中动态生成模板.本例子简单的讲解一下,如何生成级联下拉选 ...

  2. poi导出联动下拉选择的excel

    最近碰到一个功能, 觉得可以记录下来. 在web中, 经常会碰到上下级的数据, 或者是联动数据, 比如省市联动. 那么在导入数据的时候, 是否可以在动态生成的模板中, 加入联动限制呢. 一. 数据准备 ...

  3. 在select2插件中append下拉选,点击没反应的解决

    今天前端大佬帮我解决了一个棘手的问题:克隆了已有系统的网页,尝试把复制下来的html改造成jsp.基本功能正常,然而点击新增按钮,出来的行无法点击下拉选,控制台也没报错. 项目用的是jeesite2. ...

  4. select下拉选框的默认值,包括每次进入页面的默认值

    下拉选: <select onchange="selectTotal(this.value)" style="width: 50px;">      ...

  5. js表单快速取值/赋值 快速生成下拉框

    1.表单取值/赋值公共方法 //表单序列化:文本框的name字段和数据源一致<form id="myForm" onsubmit="return false;&qu ...

  6. Javascript -- 示例:多选下拉选框

    1. 示例:多选下拉选框 <html> <head> <meta http-equiv="Content-Type" content="te ...

  7. Layui下拉选渲染

    下拉选渲染有很多方式,这个比较简单,记录一下: HTML代码如下: <div class="layui-input-inline"> <input type=&q ...

  8. 初始化jsp页面下拉选备选项【我】

    将下列 script标签放到页面的最下端 <!-- 初始化的全局变量,供js中使用,主要拼接下拉选的初始化值 --> <script type="text/javascri ...

  9. 【java+selenium3】select 下拉选 (八)

    一.select 下拉框 1.下拉选的处理类:Select 如果页面元素是一个下拉框,我们可以将此web元素封装成Select对象. Select select = new Select(WebEle ...

随机推荐

  1. Nacos注册中心之概要设计

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 前言 在之前的文章中分析了Nacos配置中心,配置中心的核心是配置的创建.读取.推送. 注册中 ...

  2. 硕盟USB3.0 转RJ45千兆网卡 TYPE A USB3.0 TO RJ45

    硕盟SM-A44是一款USB3.0转RJ45千兆网口转换器.这是一种高性能和低开销的解决方案.转换USB端口到10 / 100/ 1000M以太网端口可以让您的笔记本,台式机电脑能够通过USB接口连接 ...

  3. expression动态构成

    http://blog.csdn.net/tastelife/article/details/7340205 http://blog.csdn.net/tastelife/article/detail ...

  4. 255 day03_List、Set、数据结构、Collections

    day03 [List.Set.数据结构.Collections] 主要内容 数据结构 List集合 Set集合 Collections 教学目标 [ ] 能够说出List集合特点 [ ] 能够说出常 ...

  5. CodeForce-813B The Golden Age(数学+枚举)

    The Golden Age CodeForces - 813B 题目大意:如果一个数t=x^a+y^b(a,b都是大于等于0的整数)那就是一个unlucky数字.给你x,y,l,r(2 ≤ x, y ...

  6. update修改某个字段的值

    ---恢复内容开始--- 例:给表名 ecs_article中 content字段 的 /tianyuan 替换成 11  加where条件:UPDATE ecs_article set conten ...

  7. javascript 继承 inheritance prototype

      * Rectangle继承Shape function Shape() { this.x = 0; this.y = 0; } Shape.prototype.move = function(x, ...

  8. 软件开发的V模型

    原文来自:http://www.51testing.com/html/67/n-3723567.html 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试->功能测试->系统测试-& ...

  9. vue 主次页面区分

    1.路由设定,增加meta参数 { path: '/', name: 'Home', component: Home, meta: { index: 0, showFooter: true //由这个 ...

  10. 『GoLang』面向对象

    我们总结一下前面看到的:Go 没有类,而是松耦合的类型.方法对接口的实现. 面向对象语言最重要的三个方面分别是:封装,继承和多态,在 Go 中它们是怎样表现的呢? Go实现面向对象的两个关键是stru ...