标题:求助VB读取excel后如何筛选数据
只看楼主
zyh1031
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-28
 问题点数:0 回复次数:18 
求助VB读取excel后如何筛选数据
excel表格内容如下
快递公司 快递单号 寄件日期 寄件人姓名 寄件人电话
申通     123456    20131010  王二小    1102
圆通     3217876   20100909  王小二    1002
申通     8877221   20121212  王八蛋    10001

我用VB程序将表格导入之后,想对其进行筛选再重新导出。
例如 我需要筛选出 快递公司 全部为 申通 的数据。

代码改怎么弄呢?
目前我是使用ADO方式读取的excel

是不是修改此句代码就可以?
rs.Open "select * from [Sheet1$]", cn, adOpenDynamic, adLockOptimistic
可是不知道该如何修改。。求指教。不甚感谢。

[ 本帖最后由 zyh1031 于 2013-7-27 09:44 编辑 ]
搜索更多相关主题的帖子: excel表格 快递公司 快递单号 王二小 王八蛋 
2013-07-26 12:53
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
得分:0 
你用vb程序是如何导入Excel表格的?是用OLE控件,还是用自动化的方式,或者其它什么方法导入的?你导入的方式不同,筛选的方法也不同。希望你描述清楚,最好贴上你导入的代码上来。
收到的鲜花
  • zyh10312013-07-30 21:11 送鲜花  3朵   附言:我很赞同

本人QQ:775420425
2013-07-27 15:01
zyh1031
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-28
得分:0 
回复 2楼 hjxlj
是使用OLE方式导入的
程序代码:
sFile = CommonDialog1.FileName
    Text1.Text = sFile
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFile & ";Extended Properties=""Excel 8.0;HDR=YES;"""
    cn.CursorLocation = adUseClient
    rs.Open "SELECT * FROM [Sheet1$A1:C10002]", cn, adOpenStatic
    Set DataGrid1.DataSource = rs


现在困惑我的就是
如何将符合条件的excel表里某几行数据单独显示出来
2013-07-27 16:05
zyh1031
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-28
得分:0 
回复 2楼 hjxlj
不知道我这个方法可行吗
哪种筛选方法最简单快捷就用哪种吧
2013-07-27 16:11
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:0 
rs.Open "SELECT * FROM [Sheet1$A1:C10002] where 快递公司='申通'", cn, adOpenStatic

应该行吧
收到的鲜花
  • zyh10312013-07-30 21:44 送鲜花  3朵   附言:谢谢斑竹
2013-07-27 17:40
zyh1031
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-28
得分:0 
回复 5楼 lowxiong

好吧。。。没想到我居然2到如此地步了

感谢版主。。。。
2013-07-27 18:11
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
得分:0 
唉,你是太二了,,结帖吧。

本人QQ:775420425
2013-07-27 22:30
zyh1031
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-28
得分:0 
回复 7楼 hjxlj
呵呵 现在用VB的人太少了 有人回复真是难得了。。

现在有个问题 就是导出excel的时候 为什么表头无法导出呢。。



代码如下:
程序代码:
   Dim ex As Object
    Dim i As Integer
    Dim j As Integer
    Dim xlapp As Excel.Application
    Dim xlbook As Excel.Workbook
    Dim xlsheet As Excel.Worksheet
    Set xlapp = CreateObject("Excel.Application")
    xlapp.Visible = True
    Set xlbook = xlapp.Workbooks.Add
    Set xlsheet = xlbook.Worksheets(1)
    
    For i = 0 To DataGrid1.Columns.Count - 1
    For j = 0 To DataGrid1.ApproxCount - 1
    
    DataGrid1.Col = i
    On Error Resume Next
    DataGrid1.Row = j
   
    xlsheet.Cells(j + 1, i + 1) = DataGrid1.Columns.Item(i).Text
    Next j
    Next i
2013-07-27 22:41
zyh1031
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-3-28
得分:0 
回复 5楼 lowxiong
斑竹 想请问下
为什么我datagrid导出到excel后 表头的内容却无法导出呢?
2013-07-27 22:42
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:0 
不是已经用数据库的方式打开了么,直接用数据库的方式读取数据不就行了?
【HDR=YES】而且,“有头的啊!”
2013-07-28 16:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-418003-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.105006 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved