如何在MySQL数据库中导入excel文件内的数据

如何在MySQL数据库中导入excel文件内的数据,第1张

01

MySQL

打开MySQL数据库,然后在在MySQL中新建一个【student】表,创建列为ID和Name,如下图所示

02

Excel

新建一张Excel,Excel列中的名字要与数据库中student的列名一样,如下图所示:

03

导入向导

右击数据库中的【student】表,在d出的下拉菜单中选择【导入向导】,如下图所示:

04

选择数据格式

会d出一个【导入向导】窗口,选择数据的格式,比如excel的格式为.xlsx,当然有的excel的格式为.xls,根据后缀名而定,如下图所示:

05

导入excel

然后要导入方才新建的excel文件,选择文件的存放位置,然后点击【打开】按钮即可,如下图所示:

06

选择sheet

然后选择要导入excel文件中的哪一个sheet,比如选择sheet1,然后点击【下一步】按钮,如下图所示:

07

导入模式

然后一直点击【下一步】按钮来到【导入模式】,勾选【添加:添加记录到目录表】选项,点击【下一步】按钮,如下图所示:

08

开始导入

点击【开始】按钮,当出现【Finished -Successfully】提示时即表示导入成功,如下图所示:

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

※更为详细的代码和范例请参考附件给出的文档;

5、调试与运行

直接按F5就可以运行了, 或者点击上方的运行按钮【但不运行貌似是F8】

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

6、方便快捷的运行方式

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

接下来会在工作区域出现一个按钮,是可以拖动他的,拖动到你想要的位置后鼠标点击空白区域,确定编辑(想要再次编辑可以在按钮上右键 或者 点击窗口的‘设计模式’),再次点击按钮就可以执行代码中的内容了;

7、好了,接下来就保存好你的文档吧,记得需要保存为 启用宏的工作簿(*.xlsm)

一、假如excel中有四列数据,希望导入到数据库中

mytable

中,对应的字段分别为field1,field2,field3,field4.

二、在excel表格中增加一列(?excel应该是E列),利用excel的公式自动生成SQL语句(这个很重要,别写错了),具体方法

如下:

1、增加一列(excel应该是E列,因为我们原有4列数据,分别为A\B\C\D列)

2、在第一行(这一行必须为有效数据行否则出错)的E列,就是E1中输入公式=CONCATENATE("insert

into

table

(field1,field2,field3,field4)

values

('",A1,"','",B1,"','",C1,"','",D1,"')")

3、此时E1已经生成如下的SQL语句:

insert

into

mytable

(field1,field2,field3、field4)

values

('A1中

的数据','B1','C1','D1')

4、将E1的公式复制到所有行的E列,(就是用鼠标点住E1单元格的右下角,一直拖拽下去,到最后一行数据)

5、此时E列已经生成了所有的SQL语句

6、选中E列把E列数据复制到一个纯文本文件中,命名为

例如:excel.txt

三、把excel.txt

放到数据库中运行即可,可通过命令行导入

source

f:\excel.txt


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8339869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存