ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2815|回复: 3

[原创] 将excel 内容生成 mysql 语句的自定义函数, 方便导入

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-2-13 00:30 | 显示全部楼层 |阅读模式
闲来无事,写个小过程帮助将excel的内容导入mysql服务器中
这个自定义过程有3个变量
第一个是要插入的表的名称,第二个是包含列名称的区域,第三个是包含值名称的区域
看不懂的请下载例子


模块代码如下:
Function chris_GetMySQLStr(tName As String, a As Range, b As Range)
Dim cList As String
Dim vList As String

Dim i As Integer
Dim tstr As String

If a.Cells.Rows.Count <> 1 Or b.Cells.Rows.Count <> 1 Or a.Cells.Columns.Count <> b.Cells.Columns.Count Then
MsgBox "wrong selection"
chris_GetMySQLStr = ""
Exit Function

Else
    For i = 1 To a.Cells.Columns.Count
   
    If a.Cells(1, i) <> "" And b.Cells(1, i) <> "" Then
   
        cList = cList & a.Cells(1, i) & ","
        vList = vList & Chr(39) & b.Cells(1, i) & Chr(39) & ","
   
    End If
    Next
End If

If Right(cList, 1) = "," Then
cList = Left(cList, Len(cList) - 1)
End If

If Right(vList, 1) = "," Then
vList = Left(vList, Len(vList) - 1)
End If

chris_GetMySQLStr = "insert into " & tName & " (" & cList & ") values (" & vList & ");"

End Function

[ 本帖最后由 citypanther 于 2010-2-13 00:32 编辑 ]

upload.rar

19.8 KB, 下载次数: 54

TA的精华主题

TA的得分主题

发表于 2010-2-13 01:09 | 显示全部楼层
如果是在程序的内部使用的话那还是可以的,但如果在EXCEL页面生成这样的语句就好像有点多余了,按照你的函数所要体现的功能来看,数据的插入是一定的(而且也没有考虑到字段数据类型的不同而产生不同的插入值列表),也就是说如果数据多且已经是可以确定的话,那还不如直接用Load data infile 来的快捷,例如有几万行数据,你插入语句的生成需要时间,生成完毕后还要一条条的插入,这个时间的消耗应该会挺大的吧,这个问题要好好考虑考虑。

[ 本帖最后由 chentx 于 2010-2-13 01:15 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-6-30 18:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢你的分享--excel 内容生成 mysql

TA的精华主题

TA的得分主题

发表于 2010-7-1 09:07 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-17 12:39 , Processed in 0.044617 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表