excel xml格式的文件 导入到 MYSQL 数据库的语句

下面有一个 student.xml 的文件在 C盘根目录这张EXCEL 表部分内容如下ID class name sex module1 1070202 李建明 男 程序设计2 1070202 刘慧翔 男 程序设计3 1070202 孙源 男 程序设计4 1070202 王秀军 男 程序设计5 1070202 高玉仙 女 程序设计6 1070202 刘盼盼 女 程序设计7 1070202 薛琳 女 程序设计8 1070202 张莉莉 女 程序设计9 1070202 张微 女 程序设计我在MYSQL 数据库里面建了一张 student 的表 字段跟上面的表字段名一样问题是 我怎么样才能将这个EXCEL表里面的数据导入 MYSQL 数据库我在网上发现这样一段代码:insert into student select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\student.xls',sheet1$);但是MYSQL 报错 希望高手能解决 期待

这个方法最简单但不是傻瓜式的方法,需要你对Excel和MySQL都有一点点了解。   当然,我在最后提供了一个作为例子的Excel文件,但仍然需要你会写MySQL的INSERT语句,这样才能调试可能出现的错误。   1.在需要导入的数据最后一列,写入一个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字符串连接函数,将数据生成你需要的SQL语句。RC[-2]是从最后一列(不包括该列)往前数的第二列。   2.将"SQL"下面单元格的公式复制到该列的其它单元格,这样可以看到生成了所需要的所有SQL语句。   3.将最后一列选中,复制数据到一个文本文件,将该文本文件另存为一个.sql文件(别忘了删除第一行的“SQL”)。   4.能够运行sql文件的工具有很多,运行这个文件就可以了。如果没有工具,参考 在windows下批量执行mysql脚本( http://www.albertsong.com/read-21.html )。   使用上面的方法,你需要知道什么样的insert语句对于mysql来说是正确的。   最常见的是日期的格式,如果不转换成字符串,用上面的方法会生成一个整数,这样插入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函数来将日期格式化成mysql能接受的日期字符串。   具体请参考例子。Excel2Mysql.rar   文件说明如下:   doc.txt--本文   SqlGen.xls--Excel例子文件   create.sql--建表语句   insert.sql--生成的insert语句   function.txt--需要在Excel中使用的函数   写了这么多,实际上就一句话:使用Excel的CONCATENATE函数生成sql语句并执行。   如果懂一点儿VBA可以直接生成insert.sql文件
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-27
这个楼主得到了有数据的dataset还想怎么办?是不是想直接dataset和数据库直接关联,然后update一下?SQL或者Access,这个似乎是不行。这个DataSet更新的话只是针对你一开始连的Excel的表
其实的话你就一条一条吧dataset里面的东西地写进SQL或者Access数据库不就可以了,或者你连数据库的时候再新建一个 Dataset与之关联,然后将你的Excel的ds的数据更新到那个Dataset中然后再将后者Update,那样数据就进入数据库了。
另外,站长团上有产品团购,便宜有保证
第2个回答  2011-07-27
这个楼主得到了有数据的dataset还想怎么办?是不是想直接dataset和数据库直接关联,然后update一下?SQL或者Access,这个似乎是不行。这个DataSet更新的话只是针对你一开始连的Excel的表
其实的话你就一条一条吧dataset里面的东西地写进SQL或者Access数据库不就可以了,或者你连数据库的时候再新建一个 Dataset与之关联,然后将你的Excel的ds的数据更新到那个Dataset中然后再将后者Update,那样数据就进入数据库了。
另外,虚机团上产品团购,超级便宜
第3个回答  2012-03-10
我也遇到同样的问题,顶。貌似你的数据连接是将xls作为数据源,而xml和xls大不相同吧。用dataset.readxml貌似也没法取这种excel转存过来的xml中的数据,纠结啊
相似回答