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)