视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
vb读取excel数据
2025-09-30 22:43:53 责编:小OO
文档
取得excel文件所有内容:

'add microsoft ado frist.

Private Sub Command2_Click()

    Dim adoConnection As New ADODB.Connection

    Dim adoRecordset As New ADODB.Recordset

    CommonDialog1.ShowOpen

    'OLE DB + ODBC Driver 方式:

    'adoConnection.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=e:\emp\\book2.xls"

    'Microsoft.Jet.OLEDB.4.0 方式,(建?)

    adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & CommonDialog1.FileName & ";Extended Properties='Excel 8.0;HDR=Yes'"

    

    adoRecordset.Open "select * from [sheet1$]", adoConnection, adOpenKeyset, adLockOptimistic

    Debug.Print adoRecordset.RecordCount

    Dim i As Integer

    Do Until adoRecordset.EOF

        For i = 0 To adoRecordset.Fields.Count - 1

            Debug.Print adoRecordset.Fields.Item(0).Name

            Debug.Print adoRecordset.Fields.Item(0).Value

        Next i

        adoRecordset.MoveNext

    Loop

End Sub

 

但还不知道如何取得sheet名,不好意思,那位老鸟知道请告知,谢谢

sheet名用Excel.Application对象

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Set xlApp = New Excel.Application

Set xlBook = xlApp.Workbooks.Open("C;\\123.xls"))

For i = 1 To intSheetSum

    strTemp=xlBook.Worksheets(i).name

Next i

Dim xlsconn As New ADODB.Connection

Dim xlscmd As New ADODB.Command

Dim rs As New ADODB.Recordset

xlsconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\1.xls;Extended Properties=HTML EXPORT;Persist Security Info=False"

xlsconn.Open

Set rs = xlsconn.Execute("select * from [sheet1]")

set mshflexgrid.datasource=rs

rs.close

mshflexgrid.refresh

Dim xlsconn As New ADODB.Connection

Dim xlscmd As New ADODB.Command

Dim rs As New ADODB.Recordset

xlsconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\1.xls;Extended Properties=excel 8.0;Persist Security Info=False"

xlsconn.Open

Set rs = xlsconn.Execute("select * from [sheet1]")

set mshflexgrid.datasource=rs

rs.close

mshflexgrid.refresh

新手为工作求救vb读取excel内数据所在行的某列数据

悬赏分:60 - 解决时间:2006-7-26 20:44

就是说行1A到3A是1\\2\\3,2A到2B为X\\Y\\Z 

我现在想要在VB里输入一个数字,在另一个TEXT框里得到对应的X列的数值,比如我在一个TEXT里输入3,在另一个TEXT就得到Z.然后把这个Z自动输入到一个新的EXCEL表里边.工作难找,大家帮帮本菜鸟吧,谢谢.(几乎是VB文盲,请您尽量别用太多专业术语,怕听不懂,我会尽力解答大家其他问题的,我是游戏高手.一共25分我拿了20分求救,留5分怕没听明白继续问...可怜啊,救命啊!)

问题补充:谢谢前辈,说真的有不明白的,这些我在其他地方看过了,我最主要需要的就是在VB一个框里输入2,在另一个框里得到的就是EXCEL里列2对应的值Y(我这样的菜鸟很难解释清楚这个问题,希望理解的了),而不是得到2。就是输入一个数字得到另一个数字的方法,因为是要做一个程序而不是学习,几千个数据不可能一个一个编译吧。这是一个报价系统,需要输入商品的型号规格,然后就可以把报价单弹出来,在这中间EXCEL提取了对应规格型号的产品的价格,拿出来计算,不会提取对应列的行里的数据,才问这个问题,其他不重要,怎么提取最重要,一点都不会,谢谢前辈帮忙,您说的我没看到哪个地方是能做到这点的,要不您给我注释一下是哪句。谢谢。这个程序对我来说太重要了,如果你把这个问题帮我弄明白了,我许诺你300分(现在没有,不过昨天晚上回答问题赚到了80分)包括任何人,帮我弄明白的都给300分。

提问者: caohuanchd - 试用期 一级 

最佳答案

工程中添加对microsoft excel 8.0对象库的引用 

为应用程序工作簿工作表对象声明对象变量 

dim xlApp as excel.application 

dim xlbook as excel.workbook 

dim xlsheet as excel.worksheet 

将对象引用赋值给变量,用ADD方法创建新的工作簿和工作表对象 

set xlapp=new excel.application 

set xlbook=slapp.workbooks.add 

set xlsheet=xlbook.worksheets.add 

将文本框中的值赋给microsoft excel单元 

xlsheet.cells(1,1).value=text1.text 

xlsheet.cells(2,1).value=text2.text 

用formula方法将microsoft excel中的值相加 

xlsheet.cells(3,1).formula="=r1c1+r2c1" 

text3.text=xlsheet.cells(3,1) 

保存工作表 

xlsheet.saveas "c:\emp.xls" 

关闭工作表 

xlbook.close 

关闭microsoft excel 

xlapp.quit 

释放对象 

set xlapp=nothing 

set xlbook=nothing 

set xlsheet=onthing 下载本文

显示全文
专题