菜鸟求救:在线等 我想用C#实现一个数据导出、导入功能,就是把excel中的数据导入到SQLSEVER数据库中,请问那个老大能帮我一下,有没有源代码?小弟感激不尽 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 excel可以用OLE DB读取的,然后把数据遍历写如SQL SERVER. 帮定了看看下面的代码 ConStr=ConfigurationSettings.AppSettings["ConStr"]; Conn=new SqlConnection(ConStr); string fileName=Server.MapPath("")+"\\upload"+"\\test.xls";//先放到此文件夹下 myFile.PostedFile.SaveAs(fileName); string extName=System.IO.Path.GetExtension(myFile.PostedFile.FileName); if(extName!=".xls"||extName.Length<1) { Response.Write( "<script language=javascript>alert('数据导入失败.可能是文件格式或路径不正确!!!');</script>"); return; }// string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+fileName+"'"+";Extended Properties=Excel 8.0"; OleDbConnection cnnxls = new OleDbConnection (mystring); OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls); DataSet myDs =new DataSet(); myDa.Fill(myDs,"fzr"); if(myDs.Tables[0].Rows.Count<=0) { Response.Write( "<script language=javascript>alert('文件中可能没有数据,请检查后重新导入!');</script>"); return; } fzrid=new int[myDs.Tables[0].Rows.Count]; string strSql = ""; string CnnString="Provider=SQLOLEDB;"+ConStr; OleDbConnection conn =new OleDbConnection(CnnString); OleDbCommand myCmd =null; try { conn.Open (); for(int i=0; i<myDs.Tables[0].Rows.Count; i++) { strSql="insert into FZRJBQK(XM,XB,NL,GZDW,ZW,ZC,BYYX,XL,ZY,LXFS,EMAIL,CDGJJXMQK,QDDKYCGJSHJLQK,ZYXSJGRZQK,XYBLJLQK) values ('"; strSql += myDs.Tables[0].Rows[i]["XM"].ToString() + "', '"; strSql += myDs.Tables[0].Rows[i]["XB"].ToString() + "', '"; strSql += myDs.Tables[0].Rows[i]["NL"].ToString() + "', '"; strSql += myDs.Tables[0].Rows[i]["EMAIL"].ToString() + "')"; strSql +="select @@IDENTITY"; try { myCmd=new OleDbCommand(strSql,conn); fzrid[i]=int.Parse(myCmd.ExecuteScalar().ToString().Trim()); } catch { Response.Write( "<script language=javascript>alert('数据导入失败!');</script>"); return; } } } catch { Response.Write( "<script language=javascript>alert('数据导入失败!');</script>"); return; } finally { conn.Close(); } Response.Write("<script language=javascript>alert('操作成功.共导入"+myDs.Tables[0].Rows.Count+"条记录!');</script>"); } songxiaozhao(雨朋)谢谢你了啊看来你是c#的高手啊,以后要多多向你请教!我就是还想问下,把sqlserver中的记录excel怎么实现?能不能在帮帮我啊 listview上怎加记录,如何自动定位到末尾的一条呀? 跨域 cache 共享问题 OpenFileDialog点取消按钮时提示错误? C# 小白算法题 初始1,1,2,3,5,8.要求输入第X位数等于前两位之和 哪个帮写个解决一SQL 各位哥哥,姐姐,叔叔,阿姨。菜鸟求教C#:数组,索引器,集合好像似,有什么区别,又各适合在什么场合下用,有什么好处。 初学web services 问几个问题 有那些网站,有C#源代码下载 请问如何做成在没有.net环境下可以运行的exe文件? 到底怎么创建一个web程序? 请谈谈线程和进程的区别? 请教一个小问题!
看看下面的代码
ConStr=ConfigurationSettings.AppSettings["ConStr"];
Conn=new SqlConnection(ConStr); string fileName=Server.MapPath("")+"\\upload"+"\\test.xls";//先放到此文件夹下
myFile.PostedFile.SaveAs(fileName);
string extName=System.IO.Path.GetExtension(myFile.PostedFile.FileName);
if(extName!=".xls"||extName.Length<1)
{
Response.Write( "<script language=javascript>alert('数据导入失败.可能是文件格式或路径不正确!!!');</script>");
return;
}// string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+fileName+"'"+";Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection (mystring);
OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
DataSet myDs =new DataSet();
myDa.Fill(myDs,"fzr");
if(myDs.Tables[0].Rows.Count<=0)
{
Response.Write( "<script language=javascript>alert('文件中可能没有数据,请检查后重新导入!');</script>");
return;
} fzrid=new int[myDs.Tables[0].Rows.Count];
string strSql = "";
string CnnString="Provider=SQLOLEDB;"+ConStr;
OleDbConnection conn =new OleDbConnection(CnnString);
OleDbCommand myCmd =null; try
{
conn.Open ();
for(int i=0; i<myDs.Tables[0].Rows.Count; i++)
{
strSql="insert into FZRJBQK(XM,XB,NL,GZDW,ZW,ZC,BYYX,XL,ZY,LXFS,EMAIL,CDGJJXMQK,QDDKYCGJSHJLQK,ZYXSJGRZQK,XYBLJLQK) values ('";
strSql += myDs.Tables[0].Rows[i]["XM"].ToString() + "', '";
strSql += myDs.Tables[0].Rows[i]["XB"].ToString() + "', '";
strSql += myDs.Tables[0].Rows[i]["NL"].ToString() + "', '";
strSql += myDs.Tables[0].Rows[i]["EMAIL"].ToString() + "')";
strSql +="select @@IDENTITY";
try
{
myCmd=new OleDbCommand(strSql,conn);
fzrid[i]=int.Parse(myCmd.ExecuteScalar().ToString().Trim());
}
catch
{
Response.Write( "<script language=javascript>alert('数据导入失败!');</script>");
return;
}
}
}
catch
{
Response.Write( "<script language=javascript>alert('数据导入失败!');</script>");
return;
}
finally
{
conn.Close();
}
Response.Write("<script language=javascript>alert('操作成功.共导入"+myDs.Tables[0].Rows.Count+"条记录!');</script>");
}
看来你是c#的高手啊,以后要多多向你请教!
我就是还想问下,把sqlserver中的记录excel怎么实现?能不能在帮帮我啊