//excel文件的读取
public dataset exceltods(string path)
{
//path为excel文件的路径,取得服务器上的绝对路径
string strconn = "provider=microsoftjetoledb40;" +"data source="+ path +";"+"extended properties=excel 80;";
oledbconnection conn = new oledbconnection(strconn);
connopen();
string strexcel = "";
oledbdataadapter mycommand = null;
dataset ds = null;
strexcel="select from [sheet1$]";
mycommand = new oledbdataadapter(strexcel, strconn);
ds = new dataset();
mycommandfill(ds,"table1");
return ds;
}
//对于excel中的表即sheet([sheet1$])如果不是固定的可以使用下面的方法得到
string strconn = "provider=microsoftjetoledb40;" +"data source="+ path +";"+"extended properties=excel 80;";
oledbconnection conn = new oledbconnection(strconn);
datatable schematable = objconngetoledbschematable(systemdataoledboledbschemaguidtables,null);
string tablename=schematablerows[0][2]tostring()trim(); 以上是简单的excel的读取 *** 作,如有不详可以再查资料至于你所说的杂乱无章的数据插入多张表,可以在程序或者sql语句上作相应处理应该是可以解决的
第一种,无法导入字段名:(excel表不存在,新建)
EXEC masterxp_cmdshell
'bcp zhouzhidbo数据库表名 out "c:\testxls" /c /S "服务器名" /U "用户名" -P "密码" '
第二种,excel文件已存在,要手工把表字段名填到excel文件中去,再执行下面:
insert into OPENROWSET('MICROSOFTJETOLEDB40'
,'Excel 80;HDR=YES;DATABASE=c:\文件名xls',sheet1$)
select from 表名
demo_table应该是excel里面的sheet名字吧,应该把readexcelxls替换成minxls
另外,试试把表名和字段名都加上方括号
select [time],[source] from [sheet1] order by [time]
以上就是关于打开excel文件并将数据取出插入sql数据库中全部的内容,包括:打开excel文件并将数据取出插入sql数据库中、如何用sql语言将数据库中的数据导入excel、sql语句中数据库找不到对象, sql语句读取excel文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)