Excel 数据导入到 Access、Sql Server 中示例代码

来源:互联网 发布:求阿里云免费开通码 编辑:程序博客网 时间:2024/06/10 09:44

 方法一:

1,excel->access  (你的速度太慢了,看我的)
  ADOConnection2.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:/mysmallexe/excel2sql/Server.MDB;'
+'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear'
ADOConnection2.Execute('SELECT * into [abc] FROM [excel 8.0;database=G:/mysmallexe/excel2sql/yp.xls].[abc$]')
2,excel->m$sqlserver(你的excel文件和sqlserver必须在同一台计算机里,看我的)
ADOConnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:/mysmallexe/excel2sql/yp.xls;'
+'Extended Properties=excel 8.0'
ADOConnection1.execute('  SELECT * into zfind1v2   IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=csb;Server=192.168.1.25; DataBase=mydb;]  FROM [sheet1$]'

方法二:

将Excel中的数据导入到Access中,前提是在Access中的表已经建好。

dim conn
dim conn2
set conn=CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:/book1.mdb"

set conn2=CreateObject("ADODB.Connection")
conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:/book1.xls"


sql = "SELECT * FROM [Sheet1$]"
set rs = conn2.execute(sql)
while not rs.eof
 sql = "insert into xxx([a],[b],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"
 conn.execute(sql)
 rs.movenext
wend

conn.close
set conn = nothing
conn2.close
set conn2 = nothing

function fixsql(str)
 dim newstr
 newstr = str
 if isnull(newstr) then
  newstr = ""
 else
  newstr = replace(newstr,"'","''")
 end if
 fixsql = newstr
end function

导入到Sql Server数据库中时,如果Excel文件和数据库不在同一台服务器上时,请参考上面的代码。在同一机器上可以参考下面代码(不需要先把表建表,程序会自己动建表,用Excel中的第一行数据做为表的字段名):

dim conn
set conn=CreateObject("ADODB.Connection")
conn.Open ("driver={SQL Server};server=localhost;uid=sa;pwd=sa;database=hwtemp;")
sql = "SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=""c:/book1.xls"";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] "
conn.execute(sql)

conn.close
set conn = nothing

 

原创粉丝点击