乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > -vb excel 导入 数据库表,vb导入excel到数据库

-vb excel 导入 数据库表,vb导入excel到数据库

作者:乔山办公网日期:

返回目录:excel表格制作







没错,Access自带导入外部数据的功能,可以直接导入Excel,不过如果你实在想了解一下用VB怎么做的话,可以参考下面是我搞过的自用的读取Excel导入数据库的代码。必须建立了数据库,以及数据表和相应字段才行,要自动创建数据表我不会。总之,这下面是导入数据的过程,希望能对你有所帮助。

数据库DataBase.mdb ,表名data
Excel文件名test.xls ,目标工作表sheet1

Private Sub Command1_Click()
'工程->引用->Microsoft ActiveX Data Objects 2.X Library
On Error Resume Next
Dim i%, n%, l%
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Cnt As Integer
Dim xConn As New ADODB.Connection
Dim xRs As New ADODB.Recordset
Dim xCnt As Integer

Conn.CursorLocation = adUseClient
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\DataBase.mdb"
If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "select * from data", Conn, adOpenKeyset, adLockOptimistic

xConn.CursorLocation = adUseClient
'连接Excel的字符串,后面的“HDR=yes”需要注意,它的意思是把Excel表第一行作为字段名,第二行开始方是有效数据。HDR=no则反之,从第一行开始就看做有效数据。
xConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
If xRs.State <> adStateClosed Then xRs.Close
'像打开数据库一样,使用SQL语言,打开名称为“sheet1”的e69da5e887aae799bee5baa6e79fa5e98193332工作表
xRs.Open "select * from [sheet1$]", xConn, adOpenStatic, adLockReadOnly
xCnt = xRs.RecordCount

If xCnt = 1 Then '因为HDR=yes,必有1行表头数据
MsgBox "请确认“test.xls”的“sheet1”工作簿内容不为空!否则无法导入任何数据!"
Exit Sub
End If
ProgressBar1.Max = xCnt
ProgressBar1.Min = 0
ProgressBar1.Value = 0
Label1.Caption = "0 / " & xCnt

For i = 0 To xCnt - 1
DoEvents
'下面的SQL插入语句自行更改,注意数据格式,如果是xRs("字段名1")的值是文本,记得在两边加单引号。
Conn.Execute "insert into data values(" & xRs("列名1") & "," & xRs("列名2") & "," & xRs("列名3") & ...... & ")"
xRs.MoveNext
Label1.Caption = i + 1 & " / " & xCnt
ProgressBar1.Value = i + 1
Next

Rs.Close : xRs.Close
Conn.Close : xConn.Close
Set Rs = Nothing : Set xRs = Nothing
Set Conn = Nothing : Set xConn = Nothing
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网