JAVA 通过POI实现Excel的级联下拉

发生情景:
最近使用到了模板导出功能,其中有两个下拉框是有关联的,一开始做完下拉之后,对自己做的并不满意,就考虑实现级联下拉的功能,通过第一个选项的值来决定下一个下拉框的选项范围;于是就有了这一篇文章,话不多说,贴代码~!
代码:

  1. maven引入POI的包,注意两个包的版本需一致,不然会报错。
		<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.10-FINAL</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.10-FINAL</version>
        </dependency>
  1. 在你的Excel工具类中添加下面方法
/**
     * 设置二级级联下拉框数据
     * @param wb              表格对象
     * @param typeName        要渲染的sheet名称
     * @param hiddenSheetName 数据字典sheet名称
     * @param values          级联下拉数据
     * @param fatherCol       父级下拉区域
     * @param sonCol          子级下拉区域
     */
    public static void setSeconCascadeDropDownBox(XSSFWorkbook wb, String typeName, String hiddenSheetName, Map<String, String[]> values, Integer fatherCol, Integer sonCol) {
   
        //获取所有sheet页个数
        int sheetTotal = wb.getNumberOfSheets();
        //处理下拉数据
        if (values != null && values.size() != 0) {
   
            //新建一个sheet页
            XSSFSheet hiddenSheet = wb.getSheet(hiddenSheetName);
            if (hiddenSheet == null) {
   
                hiddenSheet <
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值