POI 多选下拉菜单(复选框) 导出Excel模板 下拉菜单单选,下拉菜单多选

最近公司要做Excel的模板导出,导入数据的工作,导出时还要动态生成模板,并且生成单选下拉菜单,和多选下拉菜单。

开始搞这个很快除了多选的都搞定了,就是多选卡住了。弄了很久。。。最后终于在和多方面的交流下成功弄出。

之前在网上找不到方法很是头疼,现在弄出来分享一下给大家。。欢迎指教 效果文件

在效果文件里K(根据需要可以隐藏)列就是str = Sheet1.Cells(1, 11)  要获取的值,其中6,7就是6列和7列

具体思路是,java  POI 和带有VB的Excel模板结合。注意:Excel要支持VB

1.先准备一个带有VB语言实现下拉菜单多选功能的Excel模板点击打开链接

2.用java POI 读取这个模板文件,并把数据写入模板这个就不具体写了网上都有

想要下拉菜单多选,要先有下拉菜单。

Workbook workbook = null;
try {
    workbook = WorkbookFactory.create(
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
POI 中,可以通过创建单元格样式和设置数据验证来实现在 Excel 中添加复选框。具体步骤如下: 1. 创建工作簿和工作表 ``` Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); ``` 2. 创建单元格样式并设置为复选框样式 ``` CellStyle checkboxStyle = workbook.createCellStyle(); checkboxStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); checkboxStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); checkboxStyle.setBorderBottom(BorderStyle.THIN); checkboxStyle.setBorderTop(BorderStyle.THIN); checkboxStyle.setBorderLeft(BorderStyle.THIN); checkboxStyle.setBorderRight(BorderStyle.THIN); // 设置为复选框样式 checkboxStyle.setLocked(false); checkboxStyle.setIndention((short) 1); checkboxStyle.setAlignment(HorizontalAlignment.LEFT); ``` 3. 在需要添加复选框的单元格中设置该样式 ``` Row row = sheet.createRow(0); Cell cell = row.createCell(0); // 设置单元格样式为复选框样式 cell.setCellStyle(checkboxStyle); ``` 4. 设置数据验证 ``` DataValidationHelper validationHelper = sheet.getDataValidationHelper(); DataValidationConstraint constraint = validationHelper.createExplicitListConstraint(new String[]{"true","false"}); CellRangeAddressList rangeList = new CellRangeAddressList(0, 0, 0, 0); // 设置数据验证为复选框 DataValidation validation = validationHelper.createValidation(constraint, rangeList); validation.setShowErrorBox(true); sheet.addValidationData(validation); ``` 通过以上步骤,就可以在 Excel 中添加复选框了。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值