双表查询java代码_Java基于POI实现excel多级联动下拉列表—任意多级,支持从数据库查询出多级数据后直接生成【附源码】...

本文介绍如何使用Java和POI库创建Excel文件,实现多级联动的下拉列表,数据从数据库中查询并动态生成。通过名称管理器、数据验证和INDIRECT公式实现级联效果。详细讲解了数据准备、递归查询和构造名称管理器及数据验证的步骤,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

Excel相关知识点

(1)名称管理器——Name Manager

【CoderBaby】首先需要创建多个名称(包含key及value),作为下拉列表的数据源,后续通过名称引用。可通过菜单:“公式”---“名称管理器”找到,如下图:

(2)数据验证——DataValidation

此处我们需要选List(序列),Source(来源)选项;可通过菜单:“数据”---“数据验证”找到,如下图:

(3)INDIRECT公式

通过数据验证的Source(来源)设置为Indirect公式来控制级联的效果,如下图:

代码实现

(1)数据准备—以省市县三级为例

创建数据源(多级区域)表:Area(根据实际情况,可以是部门、跨国公司、物种分类属性等)

CREATE TABLE `area` (

`area_id`intNOT NULL AUTO_INCREMENT,

`area_name` varchar(64) NOT NULL,

`area_desc` varchar(256) DEFAULT NULL,

`parent_area_id`intDEFAULT NULL,

PRIMARY KEY (`area_id`)

) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

初始化数据

省级数据:

NSERT INTO area(area_name,area_desc) VALUES ("四川","四川省"),("浙江","浙江省"),("广东","广东省");

市级数据:

INSERT INTO area(area_name,area_desc, parent_area_id) VALUES ("南充","南充市", 1),("成都","成都市", 1), ("广元","广元市", 1),("杭州","杭州市", 2),("温州","温州市", 2),("绍兴","绍兴市", 2),("宁波","宁波市", 2),("广州","广州市", 3),("佛山","佛山市", 3);

县级数据:

INSERT INTO area(area_name,area_desc, parent_area_id) VALUES ("西充","西充县", 4),("仪陇","仪陇县", 4),("武侯","武侯区", 5),("龙泉","龙泉区", 5),("青羊","青羊区", 5),("剑阁","剑阁县", 6),("青川","青川县", 6)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值