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注释,然后执行尝试

执行后,会提示完成

我们再次查看数据库结果

©著作权归作者所有:来自51CTO博客作者高文龙的原创作品,谢绝转载,否则将追究法律责任

VBS将本地的Excel数据导入到SQL Server中的更多相关文章

  1. 关于如何将Excel数据导入到SQL Server中

    面对大量的Excel数据我们可能会非常苦恼,如果一条一条的插入到数据库:不仅会耗大量的时间,而且还可能会发生错误,现在我来说一下如何导入数据! 1.准备工作 首先要在Excel中建立数据表对应的数据字 ...

  2. Excel数据导入到Sql server

    问题:数据库内直接操作导致 错误 0xc020901c: 数据流任务 1: 源 - yndata1$.输出[Excel 源输出] 上的 源 - yndata1$.输出[Excel 源输出].列[ind ...

  3. 如何把EXCEL数据导入到SQL SERVER数据库中 (转)

    转:http://blog.csdn.net/jjp837661103/article/details/13509889 在我们完成一个项目开发之后,通常我们需要把客户的很多数据导入到数据库中,面对大 ...

  4. 图解如何 将Excel里的数据导入到sql server数据库中

    项目中,经常会碰到如何将Excel里的数据导入到sql server中的问题. 下面,图解如何实现导入Excel中的数据到sql server 2008 R2: Excel截图如下: 查询pub数据库 ...

  5. MySQL--将MySQL数据导入到SQL Server

    随着时代的进步,社会的发展,各种技术层出不穷五花八门乱七八糟数不胜数(写作文呢!!!) 不扯废话,简单而言,很多公司都会同时使用多种数据库,因此数据在不同数据库之间导入导出就成为一个让人蛋疼的问题,对 ...

  6. 解决将Excel表导入到SQL Server数据库时出现Text was truncated or one or more characters had no match in the target code错误

    编写python爬虫程序可以在电商.旅游等网站上爬取相关评论数据,这些数据可以用于词云制作.感情词分析.提取关键词等,也可以将爬取下来的数据以自己的方式进行展示.评论数据爬取下来后,就要考虑怎样入库, ...

  7. Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012

    (注:注释的颜色原本为绿色,在这里变为黑色,有点不便,但不会造成阅读影响.放入Visual Basic2012代码编辑器后会还原成绿色.) 摘  要:DataGridView控件作为数据传输的中介,只 ...

  8. MVC3学习:将excel文件导入到sql server数据库

    思路: 1.将excel文件导入到服务器中. 2.读取excel文件,转换成dataset. 3.循环将dataset数据插入到数据库中. 本例子使用的表格为一个友情链接表F_Link(LinkId, ...

  9. c#.net Excel中的数据导入到SQL数据库中

    /// <summary>        /// 从Excel 导入学生        /// </summary>        /// <param name=&qu ...

随机推荐

  1. C# test

    //测试对象集合序列化 public void jsonTest() { List<moduleEntity> list = new List<moduleEntity>(); ...

  2. luogu P4916 魔力环

    传送门 表示这种\(Burnside\)定理之类的东西一用就忘qwq 题目要求不同染色方案数,因为变换方式只有旋转,所以只有\(n\)个置换,然后可能会出现某种方案有循环节,这个循环节长度显然要是\( ...

  3. Linux调试

    参考文章: http://mp.weixin.qq.com/s/Kz4tii8O4Nk-S4SV4kFYPA 各类调试工具: 参考链接:  http://www.brendangregg.com/li ...

  4. Python 数据分析1

    本节概要 基础环境 ipython基础 前言 这是18年的第一篇blog,因为boss对于我的工作上的一些期望,需要着手做一些数据分析的工作,所以开始撰写这个系列的blog.分类的内的主要内容基本都是 ...

  5. 【blog】SpringBoot普通类中如何获取其他bean例如Service、Dao

    自己写工具类 工具类 import org.springframework.beans.BeansException; import org.springframework.context.Appli ...

  6. maven的pom.xml文件的标签详解

    该博文引至:https://www.cnblogs.com/hafiz/p/5360195.html <project xmlns="http://maven.apache.org/P ...

  7. mysql 原理 ~ 死锁问题

    一 锁1 锁的定义   1 按照宏观角度     共享锁[S锁]     又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的 ...

  8. 前端 - jsonp 跨域ajax

    jsonp 跨域ajax原理: 浏览器同源策略限制 如何解决同源策略限制: 方式一: 利用创建script块,在其中执行src属性为 远程url 异域 用函数(返回值) 的形式返回参数 方式二: jq ...

  9. Spring重温(二)--Spring JavaConfig

    1.从Spring 3起,JavaConfig功能已经包含在Spring核心模块,它允许开发者将bean定义和在Spring配置XML文件到Java类中.但是,仍然允许使用经典的XML方式来定义bea ...

  10. ps遇到的技术问题列表

    1.ps矩形选框显示像素 CTRL+K 进入首选项设置就可以了. 2.ps显示辅助线 页面工具栏上的视图按钮,我们在列表上找到标尺,我们也是可以快捷键选择CtrI+R 3.如何将插入photoshop ...