我想用C#实现一个数据导出、导入功能,就是把excel中的数据导入到SQLSEVER数据库中,请问那个老大能帮我一下,有没有源代码?小弟感激不尽

解决方案 »

  1.   

    excel可以用OLE DB读取的,然后把数据遍历写如SQL SERVER.
      

  2.   

    帮定了
    看看下面的代码
    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>");
    }
      

  3.   

    songxiaozhao(雨朋)谢谢你了啊
    看来你是c#的高手啊,以后要多多向你请教!
    我就是还想问下,把sqlserver中的记录excel怎么实现?能不能在帮帮我啊