有网友问我说,我用offset实现了2级联动,但是我想实现3级甚至更多级的联动,该怎么办,因为时间的关系,没有及时的给予这位朋友回复,就利用这次机会,来写一下刀豆如何来实现3级甚至更多级的联动。
excel下拉菜单关联——如何实现多级联动下拉菜单效果
首先来说一下我们要实现的效果,就是我们选择1级菜单后,2级菜单里就有对应1级菜单的内容,我们选择2级菜单的项的时候,3级菜单会产生对应2级菜单项的内容,以此类推,来说一下我实现这种功能的原理,就是为不同的列的内容设置了名称,而这个名称恰好就是上一级菜单里的选择项。这样的情况下,在数据有效性中的函数读取的其实是引用这个名词所对应的区域内的内容,也就把我们下一级的菜单内容读取出来了。
接下来,我们来准备数据,根据第一步所描述的原理,我将列名进行了颜色处理,以方便大家去理解。
从1级项到3级项,高级别项是下一级的列名,这就是我们的数据源的格式,如果有的网友问,不加这些列名可以吗?回答是:可以的,不加列名的话,你需要知道每列对应的上一级的内容,加上只是方便查看。
接下来的一步是Office2003同2003以上版本不同的地方,创建名称,2003需要逐一创建,而像2013可以全选以后,系统会根据选择区域自行创建,不过逐一创建也有好处,就是我们不会出现部分值出现2次的现象。接下来,我们就逐一进行创建,首先创建“百度”的2级项内容。选中数据区域。
点击Ctrl+F3,或者从菜单栏中选择“插入”—“名称”—“定义”。
需要注意的是,系统会默认所选区域的首单元格内容为当前工作薄名称,我们需要改为上一级的名称。这里,它的上一级是“百度”。
点击“添加”,这样一个工作薄的名称就添加完成了,剩下的同理。
全部添加完成后,我们就完成了对所需要的数据区域的命名工作。
StringUtils类常用的方法讲解
1.publicstaticbooleanisEmpty(Stringstr)
判断某字符串是否为空,为空的标准是str==null或str.length()==0
下面是StringUtils判断是否为空的示例:
StringUtils.isEmpty(null)=true
StringUtils.isEmpty(“”)=true
StringUtils.isEmpty(“”)=false//注意在StringUtils中空格作非空处理
StringUtils.isEmpty(“”)=false
StringUtils.isEmpty(“bob”)=false
StringUtils.isEmpty(“bob”)=false
2.publicstaticbooleanisNotEmpty(Stringstr)
判断某字符串是否非空,等于!isEmpty(Stringstr)
下面是示例:
StringUtils.isNotEmpty(null)=false
StringUtils.isNotEmpty(“”)=false
StringUtils.isNotEmpty(“”)=true
StringUtils.isNotEmpty(“”)=true
StringUtils.isNotEmpty(“bob”)=true
StringUtils.isNotEmpty(“bob”)=true
3.publicstaticbooleanisBlank(Stringstr)
判断某字符串是否为空或长度为0或由空白符(whitespace)构成
下面是示例:
StringUtils.isBlank(null)=true
StringUtils.isBlank(“”)=true
StringUtils.isBlank(“”)=true
StringUtils.isBlank(“”)=true
StringUtils.isBlank(“tnfr”)=true//对于制表符、换行符、换页符和回车符
StringUtils.isBlank()//均识为空白符
StringUtils.isBlank(“b”)=false//”b”为单词边界符
StringUtils.isBlank(“bob”)=false
StringUtils.isBlank(“bob”)=false
StringUtils方法的操作对象是Java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。如果大家还想了解更多与之有关的信息,欢迎关注我们优词网的官网。