VBS将本地的Excel数据导入到SQL Server中
栏目: 数据库 · SQL Server · 发布时间: 7年前
内容简介:VBS将本地的Excel数据导入到SQL Server中
VBS将本地的Excel数据导入到SQL Server中
最近有个测试,需要将本地的Excel数据导入到SQL Server中,所以就写了一个这个脚本,供有需要的同学进行参考。因为在此演示测试,所以准备的数据都比较简单。
我们准备将本地的Excel的A列插入到数据库中的Username列
首先准备本地的Excel数据
然后准备数据库及表结构
开始上脚本
Dim DB,objRecordSet Dim Excel 'SQL Server服务器地址 Dim SQLserver 'SQL Server 数据库 Dim Database 'SQL Server登录名 Dim uid 'SQL Server登陆密码 Dim pwd 'SQL Server 数据库表名 Dim Tablename 'SQL Server数据库表列字段 Dim Column 'Excel表路劲 Dim XLSPath SQLserver = "192.168.7.170" Database = "PasswordInfo" uid = "sa" pwd = "Password" tablename = "UserServerInfo" column = "Username" XLSPath = "d:\users.xlsx" Set DB = CreateObject("ADODB.Connection") Set objRecordSet = CreateObject("ADODB.RECORDSET") Set Excel = CreateObject("Excel.Application") DB.Open "Driver=SQL Server;server="&SQLserver&";Database="&Database&";uid="&uid&";pwd="&pwd&";" Excel.DisplayAlerts=FALSE Excel.visible=FALSE Excel.workbooks.open(XLSPath) line = 1 value = Excel.ActiveSheet.Cells(line,1).Value Do While value <> "" line = line + 1 insertDB(value) value = Excel.ActiveSheet.Cells(line,1).Value Loop msgbox "Finish" Function insertDB(value) sql = "insert into "&Tablename &"("& Column &") VALUES ("&"'"&value&"'"&")" msgbox sql DB.Execute(sql) End Function
我们开始开执行,开始插入第一条数据
执行完成
我们查看数据库表
因为vbs脚本里面有连接数据库的账户及密码,比较敏感,所以我们为了安全,我们需要将vbs转化成exe,但是这样的话,文件路劲是写死的,不方便,所以我们需要将源文件的路劲更改成浏览框。
更换前: 'XLSPath = "d:\users.xlsx" 更换后: msgbox "请选择源文件" XLSPath = CreateObject("WScript.Shell").Exec("mshta vbscript:""<input type=file id=f><script>f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value)[close()];</script>""").StdOut.ReadAll
修改后的整体代码
Dim DB,objRecordSet Dim Excel 'SQL Server服务器地址 Dim SQLserver 'SQL Server 数据库 Dim Database 'SQL Server登录名 Dim uid 'SQL Server登陆密码 Dim pwd 'SQL Server 数据库表名 Dim Tablename 'SQL Server数据库表列字段 Dim Column 'Excel表路劲 Dim XLSPath SQLserver = "192.168.7.170" Database = "PasswordInfo" uid = "sa" pwd = "Password" tablename = "UserServerInfo" column = "Username" 'XLSPath = "d:\users.xlsx" msgbox "请选择源文件" XLSPath = CreateObject("WScript.Shell").Exec("mshta vbscript:""<input type=file id=f><script>f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value)[close()];</script>""").StdOut.ReadAll Set DB = CreateObject("ADODB.Connection") Set objRecordSet = CreateObject("ADODB.RECORDSET") Set Excel = CreateObject("Excel.Application") DB.Open "Driver=SQL Server;server="&SQLserver&";Database="&Database&";uid="&uid&";pwd="&pwd&";" Excel.DisplayAlerts=FALSE Excel.visible=FALSE Excel.workbooks.open(XLSPath) line = 1 value = Excel.ActiveSheet.Cells(line,1).Value Do While value <> "" line = line + 1 insertDB(value) value = Excel.ActiveSheet.Cells(line,1).Value Loop msgbox "Finish" Function insertDB(value) sql = "insert into "&Tablename &"("& Column &") VALUES ("&"'"&value&"'"&")" 'msgbox sql DB.Execute(sql) End Function
执行结果:
我们将提示插入的数据的msgbox注释,然后执行尝试
执行后,会提示完成
我们再次查看数据库结果
本文出自 “高文龙” 博客,谢绝转载!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Phoenix 数据导入与导出
- Redis批量导入数据的方法
- 导入Blob数据到Hive
- MySQL也能并发导入数据
- JanusGraph批量导入数据代码总结
- 数据搬运组件:基于 Sqoop 管理数据导入和导出
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的职业素养
Robert C.Martin / 章显洲、余晟 / 人民邮电出版社 / 2012-9-1 / 49.00元
本书是编程大师Bob 大叔40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。 本书适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。一起来看看 《程序员的职业素养》 这本书的介绍吧!