取得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:\temp\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
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
新手为工作求救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单元
用formula方法将microsoft excel中的值相加
<=lls(3,1)
保存工作表
xlsheet.saveas "c:\temp.xls"
关闭工作表
xlbook.close
关闭microsoft excel
xlapp.quit
释放对象
set xlapp=nothing
set xlbook=nothing
set xlsheet=onthing
vb编程基础知识菜鸟
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论