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

下面有一个 student.xml 的文件在 C盘根目录
这张EXCEL 表部分内容如下

ID class name sex module
1 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个回答  2013-08-19
我用过两种方式访问过EXCEL表格,一种是ODBC数据库方式优点数据读取速度快,但是如果EXCEL表示一列中有数字和字符串并存的情况下可能会出现一种数据类型读取不出来,另一种是用excel提供的COM组件,此类方法操作EXCEL功能全,但是打开EXCEL和关闭速度慢,一种可行的方法是打开EXCEL表格然后读取一行保存一行数据到数据库中,这样就避免了在打开关闭EXCEL表格上花费大量时间。我这有个用这类方法读取EXCEL到数据库的例子,不过不在这里所以没法给你提供现成的代码
如果你的问题没解决咱们可以互相交流下,
先给你提供一点不是很全面的代码,
用ODBC方式读取EXCEL表格
CDatabase database;
CString sSql;
CString sDriver = _T("MICROSOFT EXCEL DRIVER (*.XLS)");
CString sDsn,sFile;
filename.TrimLeft();
filename.TrimRight();
// MessageBox(filename);
sFile=filename;

sDsn.Format(_T("ODBC;DRIVER={%s};DSN='''';Auto Translate=false;DBQ=%s"), sDriver, sFile);

try
{
database.Open(NULL, false, false, sDsn);
CRecordset recset(&database);

CString str,str1;
tbname.TrimLeft();
tbname.TrimRight();
str="SELECT * from ["+tbname+"$]" ;
sSql = _T(str);

recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);

int count = recset.GetRecordCount();
int row=0;
CString data,data1,data2;
while (!recset.IsEOF())
{
if(row++>=strow)
{
recset.GetFieldValue(comnum, data);
data2="";
if(data!="")
{

str1=data.Right(2);
if(str1!=".0")
i=list->InsertString(0,data);
else i=list->InsertString(0,data.Left(data.GetLength()-2));
for(int xx=0;a[xx]!=-1;xx++)
{
recset.GetFieldValue(a[xx], data1);
data2+=" ["+data1+"] ";
}

list->SetItemDataPtr(i,new CString(data2));

}

}
recset.MoveNext();
}
// 关闭数据库
database.Close();
}
catch(CDBException e)
{
// 数据库操作产生异常时...
AfxMessageBox("数据库错误: " + e.m_strError);
}
第2个回答  2013-08-19
这个怎么看着有点眼熟呀。

django怎么把Excel表mysql
点击next(此步骤也是关键步骤),需要注意2点:1:filednamerow就是你的字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列).2:firstdatarow(从哪一行开始执行),数据从哪一行开始呢,我这里选择的是3,4.点击next我们选择targettable目标对应的数据库,选择你要导入到哪个数据库中表中...

如何将excel表格导入mysql数据库
1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。否则导入数据库后会有对应的空行),假如存到“D:\\\\data.txt”这个位置里。2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令load data local infile 'D:\/data.txt' into table exceltomysql fields termi...

如何在MySQL数据库中导入excel文件内的数据
01 MySQL 打开MySQL数据库,然后在在MySQL中新建一个【student】表,创建列为ID和Name,如下图所示:02 Excel 新建一张Excel,Excel列中的名字要与数据库中student的列名一样,如下图所示:03 导入向导 右击

如何将excel表格的数据导入到mysql数据中去
1首先我们需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,你需要将表中的字段名字告诉给填写excel表的人员.2打开excel表,按照程序提供的字段填写相应的数据.此时注意下面几点:名字(我用红色标示出来了)需要跟程序提供的一样,其他的描述,表头可以不写都行.3我使用的mysql管理工具...

怎么把excel表格导入mysql数据库
将Excel表格导入MySQL数据库的步骤如下:打开要导入的Excel表格,将其另存为CSV格式(选择“另存为”并选择CSV(逗号分隔值)格式)。打开MySQL数据库,在要导入的表右击选择“导入向导”。选择要导入的文件类型(例如,选择“CSV文件(逗号分隔值)”),然后点击“下一步”。选择要导入的CSV文件,并...

如何将excel中数据导入到mysql数据库
1:filed name row 就是字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列)。2:first data row(从哪一行开始执行),如果没有表头名称,直接就是数据的,就是1。5、再点击next,选择 target table 目标对应的数据库,选择要导入到哪个数据库中表中。6、如果到上面一步没有...

如何通过PHP将excel的数据导入MySQL中
在对excel的操作中,phpExcelReade便是很多人的共同选择。在具体实现中,我们可以以文件上传方式将excel文件上传到服务器中的某个位置,通过以下操作将excel中的数据导入到数据库后,在将上传的文件删除即可。代码如下:dir=dirname(__FILE__); \/\/获取当前脚本的绝对路径$dir=str_replace(“\/\/”,”...

如何将excel表格的数据导入到mysql数据中去
在EXCEL里面全选、复制,粘贴到记事本,保存为文本文件,然后在MYSQL里面导入。

如何将Excel文件导入MySQL数据库
直到进入如下界面后查看目标栏位与原栏位的对应,如下图:8)确认对应无误后点击下一步,然后选择添加即可,然后再次点击下一步后点击开始,导入完成后提示如下图:9)操作完成后再次打开MySQL数据库中的english表查看倒入是否成功,如下图:3、总结在后面的博客中我会分享Java编程制作的单词查询小程序,...

如何将excel表格的数据导入到mysql数据中去
1.为了便于操作,准备工具:Navicat for mysql 软件,连接自己的数据库成功后,新建一个数据库。2.将要导入的excel表拖到要导入的数据库中,图中数据库名为excel.3.直接下一步、下一步(其中根据调整字段的类型及长度),就ok.

相似回答