--例如,操作ExcelSelect * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 8.0;HDR=YES; DATABASE=D:\ybmz.xls', ybmz$)) as t
你也可以使用dts向导来做,看清楚一点向导的说明就可以了
sqlserver的导入导出功能在企业管理器中
在VB的单击事件里写入以下代码即可: Private Sub cmdExcelToDB_Click() Dim adoConn As New ADODB.Connection Dim conn As New ADODB.Connection Dim adoRS As New ADODB.Recordset '打开EXCEL文件保存位置的路径 CommonDialog1.CancelError = False CommonDialog1.Filter = "(*.xls)|*.xls" CommonDialog1.DialogTitle = "打开" CommonDialog1.Action = 1 '连接SQL数据库 With conn .Provider = "SQLOLEDB" .ConnectionString = "User ID=zhangxk" & UserID & _ ";Password=zhangxk" & PassWord & _ ";Data Source=MRP-SERVER" & DataSource & _ ";Initial Catalog =bitcsfc " & InitCataLog End With conn.Open '连接EXCEL adoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & CommonDialog1.FileName & ";" & _ "Extended Properties=""Excel 8.0;HDR=No'""" '将EXCEL中的数据读入到记录集中然后通过循环语句写入SQL数据库中 adoRS.Open "Select * from [Sheet1$]", adoConn, adOpenStatic, 3 adoRS.MoveFirst For i = 1 To adoRS.RecordCount '' frmWpMaskPop.Show vbModal txtGetBC.Text = adoRS.Fields(0).Value conn.Execute ("insert into tmp_BarCode (BoardBC) Values ('" & txtGetBC.Text & " ') ") txtGetBC.Text = "" adoRS.MoveNext Next i End Sub
excel-access文件(mdb)-导入导出至sqlserver试一下
不能将EXCEL正常导入的原因很多: 1.使用导入语句时,可能造成导入字段列表次序错误 例如: select * into tempdb..mytest from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=EXCEL文件名',Sheet1$') 这条语句可能造成列次序排序不正确,造成与表的列不能对应, 解决的办法:使用下面的语句 select * into tempdb..mytest from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=EXCEL文件名','select * from Sheet1$')2.如果EXCEL安装不完全,或者使用网上的简装版EXCEL的话,也可能造成不能正常导入的情况 因为你没有写出失败的错误信息,所以很难判断是什么原因造成的
手工将EXCEL导入SQL SERVER的方法: 1.利用语句来完成 在查询分析器中执行: insert into 表名(列1........) select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=EXCEL文件名','select * from Sheet1$')2.利用企业管理器导入/导出 在企业管理器中选择数据库-'所有任务'-'导入数据',按照向导说明操作即可
DATABASE=D:\ybmz.xls', ybmz$)) as t
Private Sub cmdExcelToDB_Click()
Dim adoConn As New ADODB.Connection
Dim conn As New ADODB.Connection
Dim adoRS As New ADODB.Recordset
'打开EXCEL文件保存位置的路径
CommonDialog1.CancelError = False
CommonDialog1.Filter = "(*.xls)|*.xls"
CommonDialog1.DialogTitle = "打开"
CommonDialog1.Action = 1
'连接SQL数据库
With conn
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=zhangxk" & UserID & _
";Password=zhangxk" & PassWord & _
";Data Source=MRP-SERVER" & DataSource & _
";Initial Catalog =bitcsfc " & InitCataLog
End With
conn.Open
'连接EXCEL
adoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & CommonDialog1.FileName & ";" & _
"Extended Properties=""Excel 8.0;HDR=No'"""
'将EXCEL中的数据读入到记录集中然后通过循环语句写入SQL数据库中
adoRS.Open "Select * from [Sheet1$]", adoConn, adOpenStatic, 3
adoRS.MoveFirst
For i = 1 To adoRS.RecordCount
'' frmWpMaskPop.Show vbModal
txtGetBC.Text = adoRS.Fields(0).Value
conn.Execute ("insert into tmp_BarCode (BoardBC) Values ('" & txtGetBC.Text & " ') ")
txtGetBC.Text = ""
adoRS.MoveNext
Next i
End Sub
1.使用导入语句时,可能造成导入字段列表次序错误
例如:
select * into tempdb..mytest from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=EXCEL文件名',Sheet1$')
这条语句可能造成列次序排序不正确,造成与表的列不能对应,
解决的办法:使用下面的语句
select * into tempdb..mytest from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=EXCEL文件名','select * from Sheet1$')2.如果EXCEL安装不完全,或者使用网上的简装版EXCEL的话,也可能造成不能正常导入的情况 因为你没有写出失败的错误信息,所以很难判断是什么原因造成的
1.利用语句来完成
在查询分析器中执行:
insert into 表名(列1........)
select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=EXCEL文件名','select * from Sheet1$')2.利用企业管理器导入/导出
在企业管理器中选择数据库-'所有任务'-'导入数据',按照向导说明操作即可