easyexcel 下拉列表
时间: 2023-10-18 16:13:07 浏览: 85
EasyExcel支持三种下拉列表的创建方式:
1.使用静态数组作为下拉列表数据
```java
//定义下拉列表数据
String[] genders = {"男", "女"};
//创建下拉列表
DataValidation dataValidation = DataValidationHelper.createValidation(
DataValidationConstraint.createExplicitListConstraint(genders),
new CellRangeAddressList(1, 100, 0, 0));
//添加下拉列表到工作表
sheet.addValidationData(dataValidation);
```
2.使用动态数组作为下拉列表数据
```java
//定义下拉列表数据
List<String> genders = Arrays.asList("男", "女");
//创建下拉列表
DataValidation dataValidation = DataValidationHelper.createValidation(
DataValidationConstraint.createFormulaListConstraint("gender"),
new CellRangeAddressList(1, 100, 0, 0));
//将下拉列表数据写入名称管理器
Name genderName = workbook.createName();
genderName.setNameName("gender");
genderName.setRefersToFormula(new ExcelAddress("Sheet1!$C$1:$C$" + genders.size()).toString());
//添加下拉列表到工作表
sheet.addValidationData(dataValidation);
```
3.使用数据库作为下拉列表数据
```java
//定义下拉列表数据查询SQL
String sql = "SELECT name FROM student";
//创建下拉列表
DataValidation dataValidation = DataValidationHelper.createValidation(
DataValidationConstraint.createFormulaListConstraint(sql),
new CellRangeAddressList(1, 100, 0, 0));
//添加下拉列表到工作表
sheet.addValidationData(dataValidation);
```
以上三种方式都可以通过设置下拉列表的位置和数据范围来实现,其中第二种方式还需要将下拉列表数据写入名称管理器。
阅读全文