EasyExcel增加下拉选择框
一. 概述
本文将用示例介绍如何用EasyExcel导出下拉框
二. 示例
2.1 编写样式处理类: TitleHandler
@Slf4j
public class TitleHandler implements SheetWriteHandler {/*** 下拉框值*/private Map<Integer,String[]> dropDownMap;/*** 多少行有下拉*/private final static Integer rowSize = 200;public TitleHandler(Map<Integer,String[]> dropDownMap) {this.dropDownMap = dropDownMap;}@Overridepublic void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {}@Overridepublic void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {Sheet sheet = writeSheetHolder.getSheet();DataValidationHelper helper = sheet.getDataValidationHelper();dropDownMap.forEach((celIndex, strings) -> {// 区间设置CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(1, rowSize, celIndex, celIndex);// 下拉内容DataValidationConstraint constraint = helper.createExplicitListConstraint(strings);DataValidation dataValidation = helper.createValidation(constraint, cellRangeAddressList);sheet.addValidationData(dataValidation);});}
}
2.2 编写工具类:
public class EasyExcelUtil {public static <T> void writeExcelWithModel(OutputStream outputStream, Class<T> clazz, Map<Integer,String[]> dropDownMap) throws IOException {EasyExcel.write(outputStream, clazz).registerWriteHandler(new TitleHandler(dropDownMap)).sheet("模板").doWrite(ListUtil.empty());}
}
2.3 测试
@Overridepublic void importTemplate(HttpServletResponse response, String departId) throws IOException {// 输出流OutputStream os = response.getOutputStream();HashMap<Integer, String[]> dropDownMap = new HashMap<>();// 指定下拉框String[] deptName= entDepartmentMapper.selectDeptName(departId);dropDownMap.put(5,deptName);//部门String[] type = {"全部员工类型","在职员工","退休员工"};dropDownMap.put(3,type);EasyExcelUtil.writeExcelWithModel(os, EntStaffVo.class, dropDownMap);}
EasyExcel增加下拉选择框相关推荐
- 4.下拉选择框,弹出框。滚动条,(frame切换、多窗口切换,很重要,常用)等等,面试重要
文章目录 target 下拉选择框 弹出框-- driver.switch_to.alert 滚动条 frame切换-- 重要 多窗口切换 截屏 验证码 cookie target 下拉选择框--se ...
- jquery.chosen.js下拉选择框美化插件项目实例
由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...
- Bootstrap 表单控件一(单行输入框input,下拉选择框select ,文本域textarea)
单行输入框,常见的文本输入框,也就是input的type属性值为text.在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确的样式,因为Bootst ...
- python select模块安装_python+selenium select下拉选择框定位处理方法
一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...
- 自定义组合控件:下拉选择框
Spinner 自定义组合控件之下拉选择框 项目概述 下拉选择框主要是通过在EditText 下用PopupWindow 动态显示ListView 控件来实现的.下拉选择框可以方便用户的输入效率,以此 ...
- js下拉 selenium_selenium的下拉选择框
今天总结下selenium的下拉选择框.我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框. 后者我们通常的处理方式与其他的元素类似,点击或使用J ...
- html下拉选择框箭头改为年,CSS自定义select下拉选择框的样式(不用其他标签模拟)...
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
- UI标签库专题十一:JEECG智能开发平台 DictSelect (数据字典下拉选择框)
1. DictSelect (数据字典下拉选择框) 1.1. 参数 属性名 类型 描述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field str ...
- UI标签库专题七:JEECG智能开发平台 ComboBox (下拉选择框)
1. ComboBox (下拉选择框) 1.1. 参数 属性名 类型 描述 是否必须 默认值 name string 控件名称 是 null url string 远程数据访问 是 null ...
最新文章
- Android Eclipse之Git插件安装、配置、提交、修改、冲突、查看历史、覆盖。
- HTML的标签描述17
- MySQL主从失败 错误Got fatal error 1236
- 前端学习(3045):vue+element今日头条管理-创建页面组件
- android 怎么调用js项目_APP逆向神器之Frida【Android初级篇】
- 2021-09-1017. 电话号码的字母组合
- PX4日志读取并转化为.scv文件、MATLAB显示
- linux自启动配置文件,linux 开机自启动设置
- [转载]论原著中白飞飞和朱七七两大奇女子
- (一)、apache doris 介绍
- 第十二天-函数名 迭代器
- 无需编程,DIY自己智能小车的Android蓝牙遥控软件(一)
- 现实赢了袖手旁观他在冷眼看我们
- 费雪信息场增量建场实际实验
- asn1编码格式的解析过程
- 遇文件尾测试结束c语言,Fortran和C语言测试文件尾的方法
- FDC2214——电容传感器芯片的使用与配置(STM32控制)
- 芜湖~FILAgiao小设计:系统强提醒番茄时钟(简易电脑版)
- [7]能不能说一说浏览器缓存
- thisisunsafe神奇操作