乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何在<em>excel</em>用连接mysql<em>数据库</em>

如何在<em>excel</em>用连接mysql<em>数据库</em>

作者:乔山办公网日期:

返回目录:excel表格制作


提供一个方法作参考,此方法一般适用于数据量不大的表格(在3000行内效果比较好),如果数据量大的,要么直接对商品名称列进行筛选,要么用VBA了,但VBA我不会^_^。


I2单元格输入数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  然后右拉再下拉。


=INDEX(A:A,SMALL(IF($A$2:$A$3000=$H$2,ROW($2:$3000),4^8),ROW(A1)))&""


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。





MySql作为最受欢迎的开源数据库之一在数据存储与管理方面要大大强于Excel的同门兄弟Access。因此,把mysql做为后端数据存储工具与前端e799bee5baa6e4b893e5b19e332数据分析工具Excel来配合使用也不失为一种有效的解决方案。下面我们将介绍mysql数据库与Excel链接的三种主要形式。

①MySqlforExcel——mysql的Excel插件
MySql数据库专门为Excel准备了一个数据操作插件,可以方便地对数据进行导入导出扩展和编辑。本插件安装后,在Excel的“数据”菜单会出现一个如下所示的菜单项,第一次点击它需要对mysql数据库访问用户名、密码及数据库名称等做一个设定,以后就可以随时读取和操作数据库中的数据了。如果安装完后没有出现在Excel菜单,则可能需要到com加载项中去勾选一下。下载地址:http:///why-mysql/windows/excel。这种方法也是最简单的一种连接方法,近乎于傻瓜式链接。

②MSQuery链接
MSQuery链接需要先安装mysqlODBC驱动(下载地址在此:http:///downloads/connector/odbc)。驱动安装完成后,先要到windows控制面板—管理工具——“ODBC数据源”中进行用户或系统数据源(DSN)设置。
点击“添加”,在弹出的驱动列表中,选择MySqlODBC驱动,然后点击“完成”。
这时会弹出一个对话框,让你配置mysql数据源的一些参数:数据源名称——随便,描述——随便,TCP/IP服务器——如果在本机就是localhost:3306,如果不是则需正确输入你的mysql账户的IP地址及端口,下面就是用户名、密码以及你要访问的数据库名称。一切配置完毕后可以点击Test进行测试,测试连接成功后,你会看到mysql数据源已经添加到用户数据源列表。
接下来,我们打开MSQuery,这时新添加的数据源已经出现在了数据库列表中,我们只需选中mysql数据源,点击确定,就可以对数据库中表和字段进行查询操作了。

③PowerQuery链接
PowerQuery支持当今市场上所有主流数据库的直连,mysql当然也不在话下。由于前面已经设置过了数据源驱动,因此这里相对也就很简单。打开PowerQuery—获取外部数据—来自数据库—来自mysql数据库。
在弹出的界面中输入mysql服务器的地址和端口,下面输入你要访问的数据库名称(本例中是mysql自带数据库sakila),确认后就会出现相关数据表导航界面,就可以对数据进行操作了。数据连接完成。

1、打开Excel
2、在Excel中打开VBA编辑器:方法一:Alt+F11 方法二:开发工具->代码->Visual Basic

※如果没有开发工具请:文件->选项->自定义功能区 在右边的窗口中将开发工具前的方框□打钩√
3、双击ThisWorkbook打开编辑页面,并添加必要引用

需要添加的引用包括:Microsoft ActiveX Dat Objects Recordset 6.0 Library以及Microsoft ActiveX Dat Objects 6.1 Library

4、编写函数【俗称写代码】
直接扔出代码如下:
Public Sub MySQL_Test()
Dim Con As ADODB.Connection
Dim Rec As ADODB.Recordset
Dim iRowscount As Long
Set Con = New ADODB.Connection
Con.ConnectionString = “Driver={MySQL ODBC 5.3 ANSI Driver};” + _
“Server=你的MySQL服务器地址;” + _
“DB=需要连接的数据库名;” + _
“UID=登录数据库的账号;” + _
“PWD=登录数据库的密码;” + _
“OPTION=3;” + _
“Stmt=Set Names ‘GBK’;”
Con.Open
Set Rec = New Recordset
Set Rec = Con.Execute(“想要执行的SQL语句”, iRowscount, adCmdText)
Range(“a1”).CopyFromRecordset Rec ‘在Excel中打印出查询结果
Rec.Close: Set Rec = Nothing
Con.Close: Set Con = Nothing
End Sub
※更为详e799bee5baa6e79fa5e98193e59b9ee7ad94364细的代码和范例请参考附件给出的文档;
5、调试与运行
直接按F5就可以运行了, 或者点击上方的运行按钮【但不运行貌似是F8】

代码没有问题的话就会出现你想要的结果,下面是示范例子:

6、方便快捷的运行方式
当代码写好之后不用每次进入VBA编辑器运行代码,只需要在工作sheet上创建一个和这个代码相关联的按钮就好了,具体过程:开发工具->(控件)插入->表单控件.按钮(就是插入里面的第一个) 之后在工作sheet中随便左键点击会出现如下对话框

接下来会在工作区域出现一个按钮,是可以拖动他的,拖动到你想要的位置后鼠标点击空白区域,确定编辑(想要再次编辑可以在按钮上右键 或者 点击窗口的‘设计模式’),再次点击按钮就可以执行代码中的内容了;
7、好了,接下来就保存好你的文档吧,记得需要保存为 启用宏的工作簿(*.xlsm)

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网