POI学习(一)数据校验之创建下拉列表框

POI创建Excel下拉列表框来设置表格数据有效性,这里需要使用几个重要的对象,关系依赖图如下

  1. XSSFDataValidationHelper 工具类
  2. XSSFDataValidationConstraint 设置数据有效性条件
  3. CellRangeAddressList 设定有效区域
  4. XSSFDataValidation 数据有效性对象,工具类1通过2和3来创建

具体代码可以参考如下

java 复制代码
// 创建工作薄
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("下拉列表框");
XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(sheet);
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper
		.createExplicitListConstraint(new String[] { "男", "女" });
// 设置区域边界
CellRangeAddressList addressList = new CellRangeAddressList(0, 10, 0, 0);
XSSFDataValidation validation = (XSSFDataValidation) dvHelper
		.createValidation(dvConstraint, addressList);
// 输入非法数据时,弹窗警告框
validation.setShowErrorBox(true);
// 设置提示框
validation.createPromptBox("温馨提示", "请选择性别!!!");
validation.setShowPromptBox(true);
sheet.addValidationData(validation);
FileOutputStream out = new FileOutputStream(filePath);
workbook.write(out);
out.close();
相关推荐
花酒锄作田6 分钟前
企业微信机器人与 DeepAgents 集成实践
python·mcp·deepagents
阿里加多2 小时前
第 4 章:Go 线程模型——GMP 深度解析
java·开发语言·后端·golang
likerhood2 小时前
java中`==`和`.equals()`区别
java·开发语言·python
qq_283720053 小时前
Python Celery + FastAPI + Vue 全栈异步任务实战
vue.js·python·fastapi
2401_885885043 小时前
营销推广短信接口集成:结合营销策略实现的API接口动态变量填充方案
前端·python
zs宝来了3 小时前
AQS详解
java·开发语言·jvm
telllong4 小时前
Python异步编程从入门到不懵:asyncio实战踩坑7连发
开发语言·python
2501_945318495 小时前
备考方案:针对数据分析师的知识结构,制定攻克赛一认证的最优学习路径
学习·百度
wjs20245 小时前
JavaScript 条件语句
开发语言
lulu12165440785 小时前
Claude Code Harness架构技术深度解析:生产级AI Agent工程化实践
java·人工智能·python·ai编程