MySql数据库专门为Excel准备了一个数据 *** 作插件,可以方便地对数据进行导入导出扩展和编辑。本插件安装后,在Excel的“数据”菜单会出现一个如下所示的菜单项,第一次点击它需要对mysql数据库访问用户名、密码及数据库名称等做一个设定,以后就可以随时读取和 *** 作数据库中的数据了。如果安装完后没有出现在Excel菜单,则可能需要到com加载项中去勾选一下。这种方法也是最简单的一种连接方法,近乎于傻瓜式链接。
②MSQuery链接
MSQuery链接需要先安装mysqlODBC驱动。驱动安装完成后,先要到windows控制面板—管理工具——“ODBC数据源”中进行用户或系统数据源(DSN)设置。
点击“添加”,在d出的驱动列表中,选择MySqlODBC驱动,然后点击“完成”。
这时会d出一个对话框,让你配置mysql数据源的一些参数:数据源名称——随便,描述——随便,TCP/IP服务器——如果在本机就是localhost:3306,如果不是则需正确输入你的mysql账户的IP地址及端口,下面就是用户名、密码以及你要访问的数据库名称。一切配置完毕后可以点击Test进行测试,测试连接成功后,你会看到mysql数据源已经添加到用户数据源列表。
接下来,我们打开MSQuery,这时新添加的数据源已经出现在了数据库列表中,我们只需选中mysql数据源,点击确定,就可以对数据库中表和字段进行查询 *** 作了。
③PowerQuery链接
PowerQuery支持当今市场上所有主流数据库的直连,mysql当然也不在话下。由于前面已经设置过了数据源驱动,因此这里相对也就很简单。打开PowerQuery—获取外部数据—来自数据库—来自mysql数据库。
1、打开SQL Server 2014 Management Studio 数据库,并且登录进去;
2、新建一个数据库,将excel导入,在新建的数据名字上,鼠标右键,选择任务选项,之后导入数据,就会看到导入excel文件的窗口;
3、下拉框选中Microsoft Excel,浏览添加你需要导入到数据库的excel文件,然后点击下一步;
4、下拉框选中sql开头的,验证方式自己选择,一般是默认的验证方式,然后下面的数据库;
5、出现的这个页面不用动任何 *** 作,直接继续点击下一步即可;
6、现在表示导入成功,上面有各类详细的数据,可以选择关闭,这个时候记得刷新数据库的表,否则看不到新导入的数据。
这里介绍一种非常高效的方法。就是借助Excel插件SqlCel,这个插件在处理数据上面有很多可取之处,非常值得学习。
比如在Excel中有一个订单ID字段,这个字段总共有2千条记录,现在我们要查询这些订单对应的产品名称。
在Mysql数据库中有一张订单表里面存储了所有订单的详细信息。我们该怎样 *** 作才能最快速地查到每个订单的产品名称呢?
多数人的做法应该是把Excel中的数据导入到Mysql中,然后写一个SQL语句匹配订单表,然后把匹配结果再导出来。这种做法也是可以的,只是非常不方便,单是数据的导入可能就会遇到不少麻烦。用SqlCel处理这个问题就简单了
插件安装之后需要连接到Mysql数据库,点击“数据库连接”下的Mysql,输入连接信息。如下:
连接到数据库之后,点击“SQL查询”进入数据查询编辑器。
这个编辑器和我们平时使用的编辑器一样,可以高亮显示,智能提示,选取执行。同时它还有很多特别的地方,比如定义变量,引用变量、引用Excel单元格、指定数据的来源和去向等。这里我们要说的是它的一个函数RNGTOSTR,这个函数用来将Excel单元格的值转为字符串并拼接到SQL语句中。我们在编辑器中写SQL语句如下:
SELECT DISTINCT PRODUCT_NAME,PRODUCT_ID FROM ORDER_TABLE WHERE PRODUCT_ID IN ('rngtostr([Sheet1!A1:A1000],'\,',true)')
这样一个SQL语句就可以把每一个产品ID对应的产品名称查询到当前Excel中了。
这里面用到了一个函数rngtostr,放一张官网的截图看一下具体的用法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)