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();
相关推荐
yuanpan10 分钟前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
wang_yb11 分钟前
『Python底层原理』--Python属性的工作原理
python·databook
量化投资技术14 分钟前
【量化策略】趋势跟踪策略
python·量化交易·量化·量化投资·qmt·miniqmt
BanLul20 分钟前
进程与线程 (三)——线程间通信
c语言·开发语言·算法
十八朵郁金香24 分钟前
【JavaScript】深入理解模块化
开发语言·javascript·ecmascript
Hello.Reader33 分钟前
深入理解 Rust 的 `Rc<T>`:实现多所有权的智能指针
开发语言·后端·rust
程序员阿鹏35 分钟前
jdbc批量插入数据到MySQL
java·开发语言·数据库·mysql·intellij-idea
yoona102036 分钟前
Rust编程语言入门教程(八)所有权 Stack vs Heap
开发语言·后端·rust·区块链·学习方法
莲动渔舟37 分钟前
国产编辑器EverEdit - 在编辑器中对文本进行排序
java·开发语言·编辑器
伊一大数据&人工智能学习日志44 分钟前
自然语言处理NLP 04案例——苏宁易购优质评论与差评分析
人工智能·python·机器学习·自然语言处理·数据挖掘