Excel开发编程
如何用VB or VBA 读取excel所有数据
2005-02-04 19:43:16

取得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.ApplicationDim xlBook As Excel.Workbook

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

For i = 1 To intSheetSum    strTemp=xlBook.Worksheets(i).nameNext iDim xlsconn As New ADODB.ConnectionDim xlscmd As New ADODB.CommandDim rs As New ADODB.Recordsetxlsconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xls;Extended Properties=HTML EXPORT;Persist Security Info=False"xlsconn.OpenSet rs = xlsconn.Execute("select * from [sheet1]")set mshflexgrid.datasource=rsrs.closemshflexgrid.refresh

Dim xlsconn As New ADODB.ConnectionDim xlscmd As New ADODB.CommandDim rs As New ADODB.Recordsetxlsconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xls;Extended Properties=excel 8.0;Persist Security Info=False"xlsconn.OpenSet rs = xlsconn.Execute("select * from [sheet1]")set mshflexgrid.datasource=rsrs.closemshflexgrid.refresh