POI实战-java开发excel详解之常用操作-下拉列表

本文详细介绍了如何使用POI库实现下拉列表功能,包括主要类的说明和代码片段,解决了JXL在构建下拉列表时可能出现的数量限制问题。通过设置单元格范围和绑定下拉内容,轻松实现指定单元格区域的下拉列表功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.4 下拉列表

POI对下拉列表稍优于JXL,jxl纯java下build下拉列表会出现下拉列表数量限度(之前我曾经碰到过此类问题)。两个下拉列表原理:首先创建一列隐藏数据,然后将此列中的数据build到下拉列表中展示。

主要类说明:

类名

说明

CellRangeAddressList

New CellRangeAddress(firstRow,lastRow, firstCol, lastCol)四个参数表示设置成下拉列表的单元格范围

DVConstraint

生成下拉列表的内容

HSSFDataValidation

将下拉内容与下拉框进行绑定

 

下面将Excel第一列中的1-10行设置成下拉列表。

代码片段:

public static HSSFWorkbook write(InputStream inputStream) throws IOException, ClassNotFoundException{

            //初始一个workbook

            HSSFWorkbook workbook = new HSSFWorkbook(inputStream);

            //创建一个sheet

            HSSFSheet sheet = workbook.getSheetAt(0);

            //准备下拉列表数据

            String[] strs = new String[]{"aa","bb","cc","dd","ee","ff","gg","hh","ii"};

            //设置第一列的1-10行为下拉列表

            CellRangeAddressList regions = new CellRangeAddressList(0, 9, 0, 0);

            //创建下拉列表数据

            DVConstraint constraint = DVConstraint.createExplicitListConstraint(strs);

            //绑定

            HSSFDataValidation dataValidation = new HSSFDataValidation(regions, constraint);

            sheet.addValidationData(dataValidation);

           

            return workbook;

      }

 

输出结果:

图23

注:如果想设置成整列都是下拉列表即将参数lastRow设置为65535。目前下拉列表这块好像只支持到128个数量。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值