发布网友 发布时间:2022-04-20 16:01
共2个回答
懂视网 时间:2022-04-08 13:08
目标:连接MySQL查找数据放入新建Excel表
实现过程:
首先要去MySQL官网下载个ODBC数据源。
安装之后,即可在控制面板-管理工具-ODBC数据源-添加,中看到MySQL驱动名称:
'连接数据库 StrCnn="Provider=MSDASQL.1;Persist Security Info=True;Extended Properties='Driver=MySQL ODBC 5.3 Unicode Driver;SERVER=188.1.1.132;UID=grute;PWD=grute;DATABASE=grute;PORT=3307'" Set Cnn = CreateObject("ADODB.Connection") Cnn.Open strCnn '查看是否连接成功,成功状态值为1 If Cnn.State = 0 Then <span style="white-space:pre"> </span>msgbox "连接数据库失败" <span style="white-space:pre"> </span>wscript.quit End If
'连接Excel dim oExcel,oWb,oSheet Set oExcel= CreateObject("Excel.Application") oexcel.Workbooks.Add()
strQuery = "select * from test" Set rs = Cnn.Execute(strQuery)
<pre name="code" class="vb"><pre name="code" class="vb">'i为Excel行号,k为列号 <pre name="code" class="vb">Dim i i=0 arr_column = array("序号", "姓名", "用户名", "密码", "权限") If Not rs.BOF Then Do While Not rs.EOF i = i + 1 For k = 1 To 5 '循环5次 oExcel.Cells(i, k).Value = rs(arr_column(k - 1)) Next rs.MoveNext Loop Else wscript.echo "失败" End If
oexcel.ActiveWorkbook.SaveAs("C:UsersAdministratorDesktop est.xlsx")
oExcel.WorkBooks.Close oExcel.Quit rs.Close Cnn.Close Set Cnn = Nothing msgbox "导入完成"
完全代码如下,要求本机安装MySQL数据源,且188.1.1.132机器上MySQL用户名为grute、密码为grute、库名为grute、表名为test、test的列名分别为(序号,姓名,用户名,密码,权限),保存为后缀名VBS即可运行。
'定义变量 Dim Cnn Dim Rst Dim strCnn Dim i i = 0 arr_column = array("序号", "姓名", "用户名", "密码", "权限") '连接数据库 StrCnn="Provider=MSDASQL.1;Persist Security Info=True;Extended Properties='Driver=MySQL ODBC 5.3 Unicode Driver;SERVER=188.1.1.132;UID=grute;PWD=grute;DATABASE=grute;PORT=3307'" Set Cnn = CreateObject("ADODB.Connection") Cnn.Open strCnn '查看是否连接成功,成功状态值为1 If Cnn.State = 0 Then msgbox "连接数据库失败" wscript.quit End If '连接Excel dim oExcel,oWb,oSheet Set oExcel= CreateObject("Excel.Application") oexcel.Workbooks.Add() '输入SQL语句 strQuery = "select * from test" Set rs = Cnn.Execute(strQuery) 'i为Excel行号,k为列号 arr_column = array("序号", "姓名", "用户名", "密码", "权限") If Not rs.BOF Then Do While Not rs.EOF i = i + 1 For k = 1 To 5 '循环5次 oExcel.Cells(i, k).Value = rs(arr_column(k - 1)) Next rs.MoveNext Loop Else wscript.echo "失败" End If oexcel.ActiveWorkbook.SaveAs("C:UsersAdministratorDesktop est.xlsx") oExcel.WorkBooks.Close oExcel.Quit rs.Close Cnn.Close Set Cnn = Nothing msgbox "导入完成"
版权声明:本文为博主原创文章,未经博主允许不得转载。
关于VBS连接MySQL与连接Excel
标签:vbs excel mysql
热心网友 时间:2022-04-08 10:16
①MySqlforExcel——mysql的Excel插件
MySql数据库专门为Excel准备了一个数据操作插件,可以方便地对数据进行导入导出扩展和编辑。本插件安装后,在Excel的“数据”菜单会出现一个如下所示的菜单项,第一次点击它需要对mysql数据库访问用户名、密码及数据库名称等做一个设定,以后就可以随时读取和操作数据库中的数据了。如果安装完后没有出现在Excel菜单,则可能需要到com加载项中去勾选一下。这种方法也是最简单的一种连接方法,近乎于傻瓜式链接。
②MSQuery链接
MSQuery链接需要先安装mysqlODBC驱动。驱动安装完成后,先要到windows控制面板—管理工具——“ODBC数据源”中进行用户或系统数据源(DSN)设置。
点击“添加”,在弹出的驱动列表中,选择MySqlODBC驱动,然后点击“完成”。
这时会弹出一个对话框,让你配置mysql数据源的一些参数:数据源名称——随便,描述——随便,TCP/IP服务器——如果在本机就是localhost:3306,如果不是则需正确输入你的mysql账户的IP地址及端口,下面就是用户名、密码以及你要访问的数据库名称。一切配置完毕后可以点击Test进行测试,测试连接成功后,你会看到mysql数据源已经添加到用户数据源列表。
接下来,我们打开MSQuery,这时新添加的数据源已经出现在了数据库列表中,我们只需选中mysql数据源,点击确定,就可以对数据库中表和字段进行查询操作了。
③PowerQuery链接
PowerQuery支持当今市场上所有主流数据库的直连,mysql当然也不在话下。由于前面已经设置过了数据源驱动,因此这里相对也就很简单。打开PowerQuery—获取外部数据—来自数据库—来自mysql数据库。