打开excel文件并将数据取出插入sql数据库中

打开excel文件并将数据取出插入sql数据库中,第1张

//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文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9380963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存