一个Asp.Net远程导Excel数据到SQL中的例子

作者在 2007-04-06 23:52:00 发布以下内容

最近一直在做Excel数据到SQL数据库中,在网上找了几个例子看了一下,没有一个是完整的,适合于我的,我的到入是从Excel模板表中导入规定格式的数据到指定的表中.于是自己根据例子和实际写了一个程序,希望对大家有帮助,但程序还有一点问题,就是不能判断数据库存在的记录,如果那位高手能完善,请给我留个言或发Email:dq@swust.edu.cn,谢谢!

if (UploadFile.PostedFile.FileName.Trim()!="")
   {
    //上传文件
    string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();
    if(extension==".XLS")
    {
     string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
     path = Server.MapPath(".") + "/upfile/" + fileName + extension;
     UploadFile.PostedFile.SaveAs(path);
     string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties=Excel 8.0";  
     OleDbConnection cnnxls=new OleDbConnection(strConn);  
     OleDbDataAdapter myDa=new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);  
     DataSet myDataSet=new DataSet();  
     myDa.Fill(myDataSet);  
     string strSql="select * from tb_student";  
     DataSet myDs=new DataSet();  
     SqlDataAdapter da=new SqlDataAdapter(strSql,myConn);  
     da.Fill(myDs,"tb_student");  
     for(int   i=0;i<myDataSet.Tables[0].Rows.Count;i++)  
      if(myDataSet.Tables[0].Rows["studentno"].ToString().Trim()!="")  
      {  
       DataRow dr=myDs.Tables[0].NewRow();  
       DataRow dr1=myDataSet.Tables[0].Rows;
       dr["studentno"]=dr1["studentno"];  
       dr["name"]=dr1["name"]; 
       dr["class"]=dr1["class"];
       dr["course"]=dr1["course"];
       dr["courses"]=dr1["courses"];
       dr["termid"]=dr1["termid"];
       dr["termname"]=dr1["termname"];
       myDs.Tables[0].Rows.Add(dr);  
      }  
   
     SqlCommandBuilder sqlCb=new SqlCommandBuilder(da);
     da.Update(myDs,"tb_student");  
     myDs.AcceptChanges();
     MsgBox.Show("导入数据成功!");
    }
    else
    {
     MsgBox.Show("文件格式不正确");
    
    }
   }
   else
   {
    MsgBox.Show("请选择你要导入的文件");
   }

数据库类 | 阅读 2351 次
文章评论,共0条
游客请输入验证码