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

执行后,会提示完成

我们再次查看数据库结果

时间: 2024-10-25 06:18:44

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

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

面对大量的Excel数据我们可能会非常苦恼,如果一条一条的插入到数据库:不仅会耗大量的时间,而且还可能会发生错误,现在我来说一下如何导入数据! 1.准备工作 首先要在Excel中建立数据表对应的数据字段,如下图: 数据库对应的字段: 2.数据导入 记得要选择Excel 然后点击“浏览”选择你要导入的目标数据,点击“下一步”,输入服务器的名称,登陆名和密码: 下一步: 下一步: 在这里选择你要导入的数据表,也可以自己新命名一个表: 点击"预览"就可以观看我们的有数据了: 点“下一步”:

将Excel数据导入到SQL Server中

面对大量的Excel数据我们可能会非常苦恼,如果一条一条的插入到数据库:不仅会耗大量的时间,而且还可能会发生错误,现在我来说一下如何导入数据! 1.准备工作 首先要在Excel中建立数据表对应的数据字段,如下图: 数据库对应的字段: 2.数据导入 记得要选择Excel 注意:上一步可能会出现 "外部数据库驱动程序中(1)的意外错误" ,解决办法: 在控制 面板打开Windows更新将KB404181 项卸载,重启电脑 然后点击"浏览"选择你要导入的目标数据,点击&q

把EXCEL数据导入到SQL SERVER数据库中

方法一.. 直接看操作步骤 在数据库上点击右键,然后选择"任务",选择"导入数据",我们就看到弹出淡入数据的对话框 Excel 上面的字段命名最好跟要导入到最终的那个表的字段相同.假设终表为A表.组装好 如下图: 按照操作步骤走下去,最终会生成一个新的表(临时表B表). 我们可以借助工具,MSSQL表数据导出成Insert语句的工具   即:将查询出来的这些数据都生成insert into语句. 最终在A表中执行该insert into语句就可以将excel中的数据

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

随着时代的进步,社会的发展,各种技术层出不穷五花八门乱七八糟数不胜数(写作文呢!!!) 不扯废话,简单而言,很多公司都会同时使用多种数据库,因此数据在不同数据库之间导入导出就成为一个让人蛋疼的问题,对于周期行的需求,可以开发专门的程序处理,但是对于偶尔不确定性的需求,就到了需要DBA献身的时候啦,当需要将MySQL数据导入到SQL Server中时,该怎么搞呢? 当然使用工具最简单,但是我就忽略工具!!! 在MySQL中创建测试数据: create table tb001(c1 int auto

mysql数据库数据能不能导入到sql server中

当然可以了. 一.为 MySQL安装ODBC驱动 下载MySQL ODBC Connector,下载:http://dev.mysql.com/downloads/connector 从控制面板-管理工具,打开你的 数据源(ODBC),选 系统DNS ,点添加.   在 创建新数据源对话框中,选择MySQL ODBC 5.1 Driver ,点完成. 完成后会出现MySQL 链接对话框,添加你的 MySQL 数据库账号信息,并确认"root"账号是否有全部的权限,如果你安装MySQL

将CSV文件中的数据导入到SQL Server 数据库中

导入数据时,需要注意 CSV 文件中的数据是否包含逗号以及双引号,存在时,导入会失败 选择数据库 -> 右键 -> 任务 -> 导入数据 ,然后根据弹出的导入导出向导(如下图)中的提示内容进行操作即可. 原文地址:https://www.cnblogs.com/daochangone/p/9134718.html

使用SqlBulkCopy导入数据至MS SQL Server

原文:使用SqlBulkCopy导入数据至MS SQL Server Insus.NET一直使用表类型来数据入MS SQL Server.参考<存储过程参数为DataTable>http://www.cnblogs.com/insus/archive/2012/09/22/2698515.html .今天学习一个SqlBulkCopy来把数据导入MS SQL Server中去.就是这个<读取XML某一节点>http://www.cnblogs.com/insus/p/3778256

代码执行批量Excel数据导入Oracle数据库

由于基于Oracle数据库上做开发,因此常常会需要把大量的Excel数据导入到Oracle数据库中,其实如果从事SqlServer数据库的开发,那么思路也是一样的,本文主要介绍如何导入Excel数据进入Oracle数据库的内容. 方法一: 1.准备数据:在excel中构造出需要的数据 2.将excel中的数据另存为文本文件(有制表符分隔的) 3.将新保存到文本文件中的数据导入到pl*sql中 在pl*sql中选择tools--text importer,在出现的窗口中选择Data from Te

Excel连接到MySQL,将Excel数据导入MySql,MySQL for Excel,,

Excel连接到MySQL 即使当今时代我们拥有了类似微软水晶报表之类的强大报表工具和其他一些灵活的客户管 理应用工具,众多企业在分析诸如销售统计和收入信息的时候,微软的Excel依然是最常用的工具.这当然不是没有理由的:Excel以其强大丰富的各种功 能,已经成为办公环境中不可或缺的工具. 然而,现在公司正在逐渐地将数据开始存储在远程数据库中,这样可以供企业员工从不同的地方来阅读和修改数据.但是,以前固有的工作流程习惯是很难打破的.当你的老板需要从远端使用Excel以饼图的形势来看一下最近的销