4个回答
展开全部
首先需要在工程中引用Microsoft Excel Object Library
代码参照下边的例子
Dim sA, sB, sC, sD, sE, sF, sG, sH, sName, sDistrictName, sDepName, sDepNameOld, sDepID, sParentID, sFeeID
Dim oRdA As New ADODB.Recordset
Dim oRdB As New ADODB.Recordset
Dim oXl As Excel.Application
Dim oWb As Workbook
Dim oWs As Excel.Worksheet
Dim iA, iB, iC, iD, iError
Dim lCount
Dim bExcelRunning 'Excel是否已运行
If mlErrors <> 0 Then
MsgBox "请先检查导入数据的正确性!检查通过后方可进行导入!", vbOKOnly, "系统提示"
Exit Sub
End If
'0 要求对数据导入进行确认
'1 获得导入的数据源并打开
'1.1获得导入的数据源
sName ="你的excel文件名全路径"
If sName = "" Then Exit Sub
sA = Dir(sName, vbNormal)
If sA = "" Then Exit Sub
'1.2 打开数据源
Screen.MousePointer = vbHourglass
On Error GoTo ConnectError
lblInfo.Caption = "打开数据源"
Set oXl = GetObject("", "Excel.Application")
Set oWb = oXl.Workbooks.Open(sName)
lblInfo.Caption = "连接数据库"
'2 打开数据库连接
sA = "Provider=SQLOLEDB; Data Source=数据库服务器ID,1433; Network Library=DBMSSOCN;" & _
";Initial Catalog=数据库名;User ID=用户ID;Password=密码"
'oracle方式
' sA = "Provider=OraOLEDB.Oracle;Data Source=net服务名;User Id=用户ID;Password=密码"
goConnect.ConnectionString = sA
goConnect.Open
On Error GoTo Morn
'4 清理数据库
's_ClearAllTable '调用清理数据库过程把以前数据清理掉
'5 导入信息
Set oWs = oXl.Worksheets(1)
'.2开始数据导入 1万行一提交
goConnect.BeginTrans
With oWs
For iA = 2 To Prb.Max
lCount = lCount + 1
sA = "insert into department(DEPID,DEPNAME,DEPCODE,depCompleteName,depAddress,deleted) values('" & _
CStr(lCount) & "','" & .Cells(iA, 2) & "','" & .Cells(iA, 1) & "','" & .Cells(iA, 4) & _
"','" & .Cells(iA, 3) & "',0)"
goConnect.Execute sA
Next
End With
goConnect.CommitTrans
代码参照下边的例子
Dim sA, sB, sC, sD, sE, sF, sG, sH, sName, sDistrictName, sDepName, sDepNameOld, sDepID, sParentID, sFeeID
Dim oRdA As New ADODB.Recordset
Dim oRdB As New ADODB.Recordset
Dim oXl As Excel.Application
Dim oWb As Workbook
Dim oWs As Excel.Worksheet
Dim iA, iB, iC, iD, iError
Dim lCount
Dim bExcelRunning 'Excel是否已运行
If mlErrors <> 0 Then
MsgBox "请先检查导入数据的正确性!检查通过后方可进行导入!", vbOKOnly, "系统提示"
Exit Sub
End If
'0 要求对数据导入进行确认
'1 获得导入的数据源并打开
'1.1获得导入的数据源
sName ="你的excel文件名全路径"
If sName = "" Then Exit Sub
sA = Dir(sName, vbNormal)
If sA = "" Then Exit Sub
'1.2 打开数据源
Screen.MousePointer = vbHourglass
On Error GoTo ConnectError
lblInfo.Caption = "打开数据源"
Set oXl = GetObject("", "Excel.Application")
Set oWb = oXl.Workbooks.Open(sName)
lblInfo.Caption = "连接数据库"
'2 打开数据库连接
sA = "Provider=SQLOLEDB; Data Source=数据库服务器ID,1433; Network Library=DBMSSOCN;" & _
";Initial Catalog=数据库名;User ID=用户ID;Password=密码"
'oracle方式
' sA = "Provider=OraOLEDB.Oracle;Data Source=net服务名;User Id=用户ID;Password=密码"
goConnect.ConnectionString = sA
goConnect.Open
On Error GoTo Morn
'4 清理数据库
's_ClearAllTable '调用清理数据库过程把以前数据清理掉
'5 导入信息
Set oWs = oXl.Worksheets(1)
'.2开始数据导入 1万行一提交
goConnect.BeginTrans
With oWs
For iA = 2 To Prb.Max
lCount = lCount + 1
sA = "insert into department(DEPID,DEPNAME,DEPCODE,depCompleteName,depAddress,deleted) values('" & _
CStr(lCount) & "','" & .Cells(iA, 2) & "','" & .Cells(iA, 1) & "','" & .Cells(iA, 4) & _
"','" & .Cells(iA, 3) & "',0)"
goConnect.Execute sA
Next
End With
goConnect.CommitTrans
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先在vb中引用Excel对象库,版本11对应Office2003
用以下对象读取Excel的数据:
Excel.Application对象打开Excel
Excel.Workbook 对象打开Excel文件
Excel.Worksheet 对象(xlSheet)打开页
xlSheet.Cells(Row,Col) 读取某个单元格的内容
写入数据库可以用ADO,用记录集打开表(表可以手动建立或者用SQL建立),用循环逐项写入并保存即可。
Dim rs As ADODB.Recordset
...
rs("Name") = xlSheet.Cells(3, 2)
rs.Update
...
用以下对象读取Excel的数据:
Excel.Application对象打开Excel
Excel.Workbook 对象打开Excel文件
Excel.Worksheet 对象(xlSheet)打开页
xlSheet.Cells(Row,Col) 读取某个单元格的内容
写入数据库可以用ADO,用记录集打开表(表可以手动建立或者用SQL建立),用循环逐项写入并保存即可。
Dim rs As ADODB.Recordset
...
rs("Name") = xlSheet.Cells(3, 2)
rs.Update
...
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、从EXCEL读取数据
2、将读取到的数据按照SQL表的格式整理好
3、插入到SQL数据库中
4、循环以上过程 完成后提交事物
2、将读取到的数据按照SQL表的格式整理好
3、插入到SQL数据库中
4、循环以上过程 完成后提交事物
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询