這個方法最簡單但不是傻瓜式的方法,,需要你對Excel和MySQL都有一點點了解。 當然,,我在最后提供了一個作為例子的Excel文件,,但仍然需要你會寫MySQL的INSERT語句,這樣才能調試可能出現(xiàn)的錯誤,。 1.在需要導入的數(shù)據(jù)最后一列,,寫入一個Excel公式(例子中是“SQL”下面的單元格,“SQL”是不必要的,,僅僅是為了看起來方便),。 =CONCATENATE("insert into employee(name,birthday,email,hobby)values('",RC[-4],"','",RC[-3],"','",RC[-2],"','",RC[-1],"');") 這樣就會生成insert語句,正如你在例子Excel文件中看到的(當你單擊SQL下面的單元格時,,可以看到公式),。 這個實際上是使用了Excel的CONCATENATE字符串連接函數(shù),將數(shù)據(jù)生成你需要的SQL語句,。RC[-2]是從最后一列(不包括該列)往前數(shù)的第二列,。 2.將"SQL"下面單元格的公式復制到該列的其它單元格,這樣可以看到生成了所需要的所有SQL語句,。 3.將最后一列選中,,復制數(shù)據(jù)到一個文本文件,將該文本文件另存為一個.sql文件(別忘了刪除第一行的“SQL”),。 4.能夠運行sql文件的工具有很多,,運行這個文件就可以了,。如果沒有工具,參考 在windows下批量執(zhí)行mysql腳本(http://www./read-21.html),。 使用上面的方法,,你需要知道什么樣的insert語句對于mysql來說是正確的。 最常見的是日期的格式,,如果不轉換成字符串,,用上面的方法會生成一個整數(shù),這樣插入mysql后就不對了,。 因此上面的公式改成 =CONCATENATE("insert into employee(name,birthday,email,hobby)values('",RC[-4],"','",TEXT(RC[-3],"yyyy-mm-dd hh:mm:ss"),"','",RC[-2],"','",RC[-1],"');") 這里用到了TEXT函數(shù)來將日期格式化成mysql能接受的日期字符串,。 具體請參考例子。Excel2Mysql.rar 文件說明如下: doc.txt--本文 SqlGen.xls--Excel例子文件 create.sql--建表語句 insert.sql--生成的insert語句 function.txt--需要在Excel中使用的函數(shù) 寫了這么多,,實際上就一句話:使用Excel的CONCATENATE函數(shù)生成sql語句并執(zhí)行,。 如果懂一點兒VBA可以直接生成insert.sql文件 |
|
來自: 看風景D人 > 《數(shù)據(jù)庫》