EXCEL汇出资料到MYSQL与PHP、Phthon、R、APP共用资料
EXCEL汇出资料到MYSQL与PHP、Phthon、R、APP共用资料
将资料存放在MYSQL可以解决多平台与不同开发工具共用资料问题,
如PHP、Phthon、R、APP的共用资料,而EXCEL又是最普遍的办公室应用程式,
所以若能将两者串连,相信可以让资料运用更加弹性。
此外,一般会和EXCEL VBA连接的大多都是用到ACCESS或MS SQL资料库,
但ACCESS资料库与MS SQL资料库都不是自由软体,所以会有授权费用,
另外ACCESS资料库基本上是单机型的资料库,对于多台电脑连线就会有问题,
虽然可以透过网芳共用来解决,但还是非常的麻烦的,
所以改用MYSQL资料库,似乎就可以解决前两者资料库的问题,
首先它是自由软体,再者它也可以让大家在同个网路区段里连线。
以下介绍如何安装与EXCEL VBA连线。
这篇文章主要是在VBA中呼叫ADO,并用SQL语言和MYSQL沟通,
浅显易懂,而且容易操作,和大家分享,
不过比较困难的部分,
可能要注意:
1.Windoms有没有安装IIS,有就一定要停止,或换PORT号。
2.执行ADO一定要安装MYSQL的驱动程式。
3.连线字串可以参考 ConnectionStrings 网站:https://www.connectionstrings.com/。
预览画面:
可以先参考:
PHP与云端资料库教学懒人包(2015)
https://terry55wu.blogspot.tw/p/blog-page_18.html
PHP云端资料库教学之1(打造PHP与MySQL环境)
https://terry55wu.blogspot.tw/2015/03/php1phpmysql.html
这是PHP云端资料库第一次上课,主要是了解学生的程度和学习需求,
并且打造PHP与MySQL环境并下载XAMPP安装的懒人包 [下载]
1.XAMPP563.zip解压缩到D碟与执行setup_xampp.bat与xampp-control.exe
启动Apache 与 MySQL (注意要允许防火墙)
1.如何设定XAMPP与MQSQL的安全性
2.如何新增MQSQL资料库与资料表
建立资料库
3.建立资料表
建立问题2资料表
INSERT INTO `问题2`(`编号`, `品名`, `单价`, `数量`, `小计`, `地区`) VALUES ('0001','玩具',399,46,18354,'东')
程式码:
Sub 新增单笔()
r = Range("A2").End(xlDown).Row
A = Cells(r, 1)
B = Cells(r, 2)
C = Cells(r, 3)
D = Cells(r, 4)
E = Cells(r, 5)
F = Cells(r, 6)
Call 利用ADO新增资料(A, B, C, D, E, F)
MsgBox "资料新增成功!!", vbInformation
End Sub
Sub 新增全部()
For i = 2 To Range("B2").End(xlDown).Row
A = Cells(i, 1)
B = Cells(i, 2)
C = Cells(i, 3)
D = Cells(i, 4)
E = Cells(i, 5)
F = Cells(i, 6)
Call 利用ADO新增资料(A, B, C, D, E, F)
Application.StatusBar = "新增到第" & i - 1 & "笔"
Next
MsgBox "资料新增全部成功!!", vbInformation
End Sub
Sub 利用ADO新增资料(A, B, C, D, E, F)
'1.建立Connection物件
Set myCon = CreateObject("ADODB.Connection")
'2.连结资料库
myCon.Open "Driver={MySQL ODBC 5.2 UNICODE Driver};Server=127.0.0.1;Database=问题2;User=root;Password=1234;Option=3;"
'3.建立Recordset物件&连结资料表
Sql = "INSERT INTO 问题2 (编号, 品名, 单价, 数量, 小计, 地区) VALUES ('" & _
A & "','" & B & "', " & C & ", " & D & "," & E & ",'" & F & "')"
'MsgBox (Sql)
Set myRs = myCon.Execute(Sql)
End Sub
Public Sub 删除EXCEL资料()
Range("A2:F" & Range("A2").End(xlDown).Row).ClearContents
End Sub
Sub 从MYSQL资料库全部汇入()
'1.建立Connection物件
Set myCon = CreateObject("ADODB.Connection")
'2.连结资料库
'myCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\问题1.accdb;"
myCon.Open "Driver={MySQL ODBC 5.2 UNICODE Driver};Server=127.0.0.1;Database=问题2;User=root;Password=1234;Option=3;"
'3.建立Recordset物件&连结资料表
Sql = "Select * from 问题2"
'MsgBox (Sql)
Set myRs = myCon.Execute(Sql)
Range("A2").CopyFromRecordset myRs
End Sub
Sub 删除所有MYSQL资料()
'1.建立Connection物件
Set myCon = CreateObject("ADODB.Connection")
'2.连结资料库
'myCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\问题1.accdb;"
myCon.Open "Driver={MySQL ODBC 5.2 UNICODE Driver};Server=127.0.0.1;Database=问题2;User=root;Password=1234;Option=3;"
'3.建立Recordset物件&连结资料表
Sql = "Delete from 问题2"
'MsgBox (Sql)
Set myRs = myCon.Execute(Sql)
End Sub
**如何远端连线
1.新增使用者
2.设定权限(任意主机)
3.修改连线主机的IP或名称
**新增全部_进度状态列
完成画面:
表单属性
标签属性
Private Sub UserForm_Activate()
'状态列归零
PB.Width = 0
'取得总列数
r = Range("A2").End(xlDown).Row
For i = 2 To r
A = Cells(i, 1)
B = Cells(i, 2)
C = Cells(i, 3)
D = Cells(i, 4)
E = Cells(i, 5)
F = Cells(i, 6)
Call 利用ADO新增资料(A, B, C, D, E, F)
'更新状态列用400去除
PB.Width = (i - 1) * (400 / (r - 1))
'更新表单
home.Repaint
Application.StatusBar = "新增到第" & i - 1 & "笔"
Next
home.Hide
End Sub
Sub 新增全部_进度状态列()
home.Show
MsgBox "资料新增全部成功!!", vbInformation
End Sub
教学影音(完整版在论坛):
教学影音完整版在论坛:
https://groups.google.com/forum/#!forum/scu_excel_vba2_86
课程特色:
1.如何将函数转成VBA2.VBA与资料库快速结合
EXCEL函数、 VBA程式设计与资料库是分别属于三个领域的知识,
但却是目前大家都需要的一项专业技能,要把三者融合的很好实在非常不容易,
刚好我有近20年的VB程式设计与资料库设计的经验,
教EXCEL函数与相关课程也有多年,因此清楚如何把最重要的知识教给大家,
ADO资料库设计的知识非常多,但根据我多年的设计实务经验,
觉得最重要的是掌握SQL语言,就可以轻易的完成查询、新增、修改与删除等功能,
就可以轻易的完成自己想处理的大量资料,大大提高工作效率了!
完整教学影音DVD申请:http://goo.gl/ZlBZE
其他相关学习:
- VBA处理大数据政府开放与快速做出查询系统
- 如何将大量EMAIL自动串接与用OUTLOOK自动批次寄信
- 如何用VLOOKUP函数做饭店管理分享
- 东吴进修广部88期的EXCEL VBA课又额满了
- 如何计算年龄并格式化与用VLOOKUP查询时数
- 如何在EXCEL VBA中快速删除空白列
- EXCEL VBA大数据自动化设计上课心得分享
- 如何用EXCEL统计乐透彩中奖机率范例
- 如何用COUNTIF函数筛选黑名单(无须撰写VBA)
- 如何将EXCEL公式改直接贴上修改为VBA
- 如何用EXCEL VBA设计销货单将EXCEL当资料库
- 如何撰写自动日期格式化的VBA程式
- 如何增加EXCEL VBA按钮(86)
- 如何用VBA搜寻关键字后上色与复制到新工作表
- 如何用VBA搜寻关键字后上色与复制到新工作表
- EXCEL函数与VBA设计第6次上课(证照106与110)
- 如何增加EXCEL VBA按钮
- 如何利用日期函数制作年历VBA范例
- 如何用EXCEL VBA设计销货单分享
- 如何学会栏列锁定技巧与VBA设计之二(范例:大型试算表)
- 如何学会栏列锁定技巧与VBA设计之一(范例:大型试算表)
- 从EXCEL函数到VBA自动化(函数应用大升级)
- 如何将检视与参照函数函数转EXCEL VBA设计
- 提高工作效率_黑名单筛选范例分享
- 北市公训处EXCEL函数进阶班第1天上课
- 公训处EXCEL进阶课程分享
- 如何用VBA呼叫Outlook邮寄信件
- 如何显示进度状态列(ProgressBar)
- 如何批次下载股市资料到EXCEL中
- 如何建立表单与将EXCEL当成资料库
- 如何让用ACCESS将EXCEL的资料
- 如何排序工作表
- 如何将单次查询改为批次查询(EXCEL VBA自动化)
- 如何在EXCEL VBA的工作表随机上颜色
- 如何快速在EXCEL中建立查询系统(免资料库)之2
- 如何精简VBA程式与传递引数
- 如何快速在EXCEL中建立查询系统(免资料库)之1
- 如何将大量工作表整合在一个工作表
- 如何在EXCEL VBA新增没有重复名称工作表
- 如何自动下载YAHOO股市资料到EXCEL中
- 如何建立表单与将EXCEL当成资料库使用
- 如何在EXCE VBA中复制工作表
- 如何在EXCEL VBA如何保护工作表
- 如何在EXCEL VBA新增没有重复名称工作表
- 如何在EXCEL工作表中移动
- EXCEL VBA办公自动化_如何建立查询系统
1.EXCEL VBA设计(自强基金会2012)第4次上课
http://terry55wu.blogspot.tw/2012/03/excel-vba20124.html
2.如何把EXCEL"函数"变为 "VBA"?自强基金会2012第5次上课
http://terry55wu.blogspot.tw/2012/04/excel-vba.html
3.自强基金会2012第8次上课
http://terry55wu.blogspot.tw/2012/05/excel-vba20128.html
4.自强基金会2012第9次上课
http://terry55wu.blogspot.tw/2012/05/excel-vba20129.html
5.EXCEL_VBA与资料库--自强基金会2012(Ending)
http://terry55wu.blogspot.tw/2012/07/excelvba-2012ending.html
EXCEL,VBA,函数,文化大学推广部,EXCEL VBA 函数 程式设计 线上教学 excel vba 教学 excel vba指令教学 vba范例教学excel excel vba教学视频 excel函数教学 excel函数 MYSQL