c# combobox集合数据不显示_Excel也能玩转百万数据

219d2c0b71a159d5d0c2e6767dab63b7.png

最近一方君工作中要查询编辑很多的数据(超过30万行,25个字段),这么多数据放在Excel表中当然是没办法操作的,筛选的时候很容易崩溃,原来用得很顺滑的一些公式,一计算就未响应,多点几下Excel就很不客气的崩溃了,感觉一万个坑啊有木有,所以这个时候Sql查询就闪亮登场了,是的,sql能完美解决上述所有问题。

好,你可能还不知道Sql是个啥,我们先来简单了解下他。

SQL全称是结构化查询语言,最早是IBM公司的圣约瑟研究实验室为其关系型数据库管理系统SYSTEMR开发的一种查询语言,SQL语言结构简洁,功能强大,简单易学,因此从IBM公司1981年推出以来,SQL语言得到了广泛的应用,如今无论是Oracle,SQL Server这些大型的数据库管理系统,还是Access这些常用的数据库开发系统,都是支持SQL作为查询语言。

以上一堆字也可以不看哈。

反正我们只要知道SQL是个查询编辑语言,本文只是粗浅介绍查询功能,主要还是讲怎么在Excel的Ribbon功能区做一个Combobox加一个按钮,制作这么一个查询小工具,这里面会涉及到的知识点如下:

  1. xml架构元素
  2. Combobox控件动态属性
  3. Function函数
  4. ADO对象的属性与方法

先来看下最终的效果吧,如下图:

76000e02a0cd5e8d174d87f4b87a65cd.png

你可以自己输入sql语句,也可以从列表中选,因为每次输入后会自动保存,作为查询历史显示在下拉列表中。当然这里我有点偷懒,这个查询历史数据是放在了Excel表中,大家可以用insert into语句放进数据库去重会更好些。

首先,我们要做好功能区,xml代码如下(如何制作可以参考我的课程哦)

aa05c13882eab6781d81fcef6c8569ba.png

可以看到很多属性都是动态的,需要做无效更新。具体设置方法如下

6d8fb8f1fe019b98745169306e3a1aa3.png

界面制作好以后,就要查询数据了,由于我们这里要实现的功能是输入sql语句就去自动查询结果显示到表格中,基本步骤为连接数据库→执行combobox中你输入的sql语句得到记录集→输出到Excel表中。连接数据库的动作我们最后单独写到一个函数中去,得到记录集的函数也是单独写一个函数比较好。

连接数据库:

33481cb3ae5928187a6896219235d9a8.png

返回记录集:

0eb0bf0a9bf1a216496ca79f739d1bf0.png

然后我们每次查询的时候只要传递一个sql语句过来执行一下就可以了,这个sql语句可以从combobox里面去取过来就ok,具体如下:

8a571bfac62e4dcde9326533167ec995.png

注意这里的txt是一个公共的string变量,来自combobox中的text文本。

好,到这里我们这个小工具就做好了,你只要将这个表格跟数据库文件放一起,在combobox中输入sql语句就可以查询出结果了,这里我连接的是带密码的Access数据库,你也可以直接连接Excel文件,实现所谓的不打开工作簿取数,这个应该是蛮多人感兴趣的,或者连接oracle,sql server甚至是Sap,这些都是可以的。Sql作为一个查询编辑语言,非常好用,相信你用熟悉了以后就再也不想用Excel中的函数了,特别是数据量比较大的时候。

本文中的表格一样也是放在公众号的资料网盘路径里了,回复“一方”即可获取,大家需要的可以取下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值