JS宏制作全局模糊查询工具,实现实时查询效果

懒人办公
懒人办公

创作者俱乐部成员

【案例描述】

如下图,现有一张数据表,需要制作一个查询界面,要求能够进行全局模糊查询,并能实现边输入边查询的效果,比如输入“男”就显示所有性别为“男”的信息,输入“男本”就显示所有性别为“男”学历为“本科”的信息。

数据源:

查询界面:

【操作效果】

【JSA代码】

按ALT+F11打开WPS宏编辑器,复制下方代码粘贴到编辑器中。

function 模糊查询()

{

try{ //监测错误

Range('a3:f65535').Value2='' //清空结果区域

if(TextEdit1.Text.length==0) return '' //当输入框为空时不作任何操作

ar = Sheets.Item('数据源').Range('a1').CurrentRegion.Value2 //将数据源写入数组ar

ar.splice(0,1) //删除标题行

k = TextEdit1.Text.split('').join('.*') //处理查询关键字,使之能模糊查询

let br = ar.filter(v => { //对数组ar进行筛选,选择结果存入数组br

return v.join('').match(k); //将数组ar的每一行合并为一个字符串后与关键字匹配

});

Range('a3').Resize(br.length,6).Value2=br //将筛选后的值写入结果区域

}catch(err){

Console.log(err) //出错时打印错误信息

}

}

function TextEdit1_Change()//输入框变动事件

{

模糊查询() //执行模糊查询程序

}

【往期内容】

1.对明细数据分类汇总,统计库存

2.两表按关键字相互链接,快速查找定位

3.批量创建和删除工作表

4.批量将工作表拆分为独立工作簿

5.批量将工作簿合并为工作表,免费实现会员功能

6.实时查询数据,高端的效果,往往只需要简单的代码

7.按照内容拆分工作表,免费实现会员功能

8.批量合并工作簿,免费实现终极会员功能

9.自动核对报表报送情况,表姐表妹的福音来了

10.以指定单元格内容批量命名表格文件

11.用工作表做数据库,将出库单保存为出库明细

12.用AI拆分工作表,一句话就能搞定

13.在表格中按名称批量插入对应图片

14.按分隔符拆分数据

15.合并同类项,按部门合并姓名,并用顿号隔开

【素材下载】

https://kdocs.cn/l/cdkwxOmG6pvc

贵州省
浏览 2345
1
32
分享
32 +1
25
1 +1
全部评论 25
 
支雪峰
为啥数据源当中删掉一行,下面的数据就查询不到了?
· 江苏省
回复
 
我
大佬,这个查询数字,怎样精准查找?
· 浙江省
回复
 
一
表达式怎么改成精确查找
· 山东省
回复
 
WPS_1696988400
为什么我的复制后用不了呢?报错ReferenceError: TextEdit1 is not defined
· 广东省
回复
懒人办公
懒人办公

创作者俱乐部成员

说明你的表格中没有文本框控件
· 贵州省
1
回复
 
熊
非常实用,大佬思路新奇,厉害!学到了!! k = new RegExp(TextEdit1.Text.split('').join('.*') ,'gi'); 正则这样改一下可以忽略大小写。
· 广东省
回复
懒人办公
懒人办公

创作者俱乐部成员

谢谢建议,相互学习
· 贵州省
回复
 
闫恒睿
小工具超级好!
· 辽宁省
回复
 
^。
很适用
· 贵州省
回复
 
陈
好用赞
· 山东省
回复
 
企业用户_608588195
赞一个
· 北京
回复
 
陈三愿
很好用
· 江苏省
回复
 
岁月如初
很好用
· 北京
回复
 
WPS_1698813815
非常好的文章,内容值得学习
· 陕西省
回复
 
Eric
很好的文件,感谢分享
· 安徽省
回复
 
WPS_1698806853
赞一个
· 江苏省
回复
 
骸耗…晾
很好很实用
· 广东省
回复
 
空号
不错
· 江苏省
回复
 
临界点
很实用的小工具。
· 内蒙古
回复
 
    
有这个功能查找是真的方便便捷
· 中国
回复
 
太实用了
· 非洲地区
回复
 
鹏程万里
很实用,赞
· 广东省
1
回复