加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel 批量导入MySql数据库方法(VBA方式)

(2011-09-21 20:40:14)
标签:

excel批量导入

mysql数据库

vba

操作方式

it

分类: MySql
这俩天一直在整合数据,数据量不算很大,大概在30W左右!是学长之前留下的一个数据挖掘的数据,都是导成Excel的方式做的!现在选哟进行数据分析,必须导入数据库才能做下一步的工作!
刚开始想使用别人的软件来实现导入,可是第一步就出现了错误,“外部表不是预期的格式”刚开始想手动另存为,可是 这个量太大了,网上找找也没有相关的办法,偶然的机会发现了VBA,Excel中得宏,研究了半天附代码如下:
Sub tesst()
i = 1
For i = 1 To 31
    ChDir "C:\Users\zp\Desktop\数据\淘宝商城"
    Workbooks.Open ("C:\Users\zp\Desktop\数据\淘宝商城\db_product_tb5-" & i & ".xls"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\zp\Desktop\数据\淘宝商城\5-" & i & ".xls", _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Save
    Workbooks.Close
   Next i  
End Sub
用这样的方法可以顺利的转换为我所预期的格式97-2003工作蒲!
问题又来了,这么多的Excel表布恩那个一个个的用软件导进去啊(软件不支持批量,每次只能选择一张Excel表),又琢磨了一个下午:
代码如下:
Sub exporttomysql()
For i = 1 To 31
    ChDir "C:\Users\zp\Desktop\数据文件"
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim fld As ADODB.Field
    Dim sql As String
    Set conn = New ADODB.Connection
    conn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=data"
    conn.Open
    j = 2
    Workbooks.Open "C:\Users\zp\Desktop\数据文件\2011-7-" & i & "-tb" & ".xls"
    While Cells(j, 1) <> ""
    conn.Execute "insert into tb(id,brand,type,price,url,count,website,time) values('" & ActiveSheet.Cells(j, 1) & "','" & ActiveSheet.Cells(j, 2) & "','" & ActiveSheet.Cells(j, 3) & "','" & ActiveSheet.Cells(j, 4) & "','" & ActiveSheet.Cells(j, 5) & "','" & ActiveSheet.Cells(j, 6) & "','" & ActiveSheet.Cells(j, 7) & "','" & ActiveSheet.Cells(j, 8) & "')"
    j = j + 1
    Wend
    Workbooks.Close
    Next i
End Sub
哎,看到SELECT后的数据,我露出了淫笑.....
如果不是这次的数据整合,我大概3年内都不可能做这方面的事情,也学不到VBA这种方式对office的操作!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有