• 【转】Excel导入SQL数据库完整代码


    哥本哈根
    Excel导入SQL数据库完整代码 
    protected void studentload_Click(object sender, EventArgs e)
         {
    //批量添加学生信息
             SqlConnection conn = DB.dataBaseConn();//链接数据库
             conn.Open();
              
    try
              {
                 
    string fileurl = typename(studentFileUpload);//调用typename方法取得excel文件路径
                 DataSet ds = new DataSet();//取得数据集
                 ds = xsldata(fileurl);
                 
    int errorcount = 0;//记录错误信息条数
                 int insertcount = 0;//记录插入成功条数
                 int updatecount = 0;//记录更新信息条数
                  for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                 {
                     
    string stuid = ds.Tables[0].Rows[i][0].ToString();
                     
    string stuname = ds.Tables[0].Rows[i][1].ToString();
                     
    string stusex = ds.Tables[0].Rows[i][2].ToString();
                     
    string zhuanye = ds.Tables[0].Rows[i][3].ToString();
                     
    string classname = ds.Tables[0].Rows[i][4].ToString();
                     
    if (stuid != "" && stuname != "" && stusex != "" && zhuanye != "" && classname != "")
                     {
                                       SqlCommand selectcmd 
    = new SqlCommand("select count(*) from zy_class   where zhuanye='" + zhuanye + "'and classname='" + classname + "'", conn);
                         
    int count = Convert.ToInt32(selectcmd.ExecuteScalar());
                         
    if (count > 0)
                         {
                             SqlCommand selectcmd2 
    = new SqlCommand("select count(*) from stud where   stuid='" + stuid + "'", conn);
                             
    int count2 = Convert.ToInt32(selectcmd2.ExecuteScalar());
                             
    if (count2 > 0)
                             {
                                 SqlCommand updatecmd 
    = new SqlCommand("update stud set   stuname='" + stuname + "',stusex='" + stusex + "',zhuanye='" + zhuanyei + "',classname='" + classname + "'   where stuid='" + stuid + "'", conn);
                                 updatecmd.ExecuteNonQuery();
                                 updatecount
    ++;
                             }
                             
    else
                             {
                                 SqlCommand insertcmd
    = new SqlCommand("insert into stud    values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname+ "')", conn);
                                 insertcmd.ExecuteNonQuery();
                                 insertcount
    ++;
                             }
                         }
                         
    else
                         {
                             Response.Write(
    "<script language='javascript'>alert('专业或班级信息有错!导入失败!请检查!');</script>");
                             
    break;  

                          }
                     }
                     
    else
                     {
                         errorcount
    ++;
                     }
                 }
                 Response.Write(
    "<script language='javascript'>alert('" + insertcount + "条数据导入成功!" + updatecount + "条数据更新成功!" + errorcount + "条数据部分信息为空没有导入!');</script>");
             }
             
    catch (Exception e)
             {
                 Response.Write(
    "<script language='javascript'>alert('导入失败!');</script>");
             }
             
    finally
             {
                 conn.Close();
             }    
         }

    //把EXCEL文件上传到服务器并返回文件路径

    private String typename(FileUpload fileloads)
         {
             
    string fullfilename = fileloads.PostedFile.FileName;
             
    string filename = fullfilename.Substring(fullfilename.LastIndexOf("\\"+ 1);
             
    string type = fullfilename.Substring(fullfilename.LastIndexOf("."+ 1);
             
    string murl = "";
             
    if (type == "xls")
             {
                 fileloads.PostedFile.SaveAs(Server.MapPath(
    "excel"+ "\\" + filename);
                 murl 
    = (Server.MapPath("excel"+ "\\" + filename).ToString();
             }
             
    else
             {
                 Response.Write(
    "<script language='javascript'>alert('导入文件格式不对!');</script>");

             }
             
    return murl;
         }

       
    //

    把excel数据读入dataset返回l数据集

    private DataSet xsldata(string filepath)
         {
             
    string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
             System.Data.OleDb.OleDbConnection Conn 
    = new System.Data.OleDb.OleDbConnection(strCon);
             
    string strCom = "SELECT * FROM [Sheet1$]";
             Conn.Open();
             System.Data.OleDb.OleDbDataAdapter myCommand 
    = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
             DataSet ds 
    = new DataSet();
             myCommand.Fill(ds, 
    "[Sheet1$]");
             Conn.Close();
             
    return ds;
         } 



    本文来自CSDN博客,转载请标明出处:http:
    //blog.csdn.net/HelloXiaoyu/archive/2009/01/15/3790134.aspx
  • 相关阅读:
    教你当主管:如何降低你的员工流失率?
    你问我这算什么
    推荐:职场提升的10条捷径
    压力从何而来呢?千万不要2008年结婚
    怎样“管理”你的上司?
    HTTP.sys
    IIS书籍
    IIS目录
    HTTP服务
    在 IIS 7 中使用配置文件
  • 原文地址:https://www.cnblogs.com/gebenhagen/p/1735139.html
Copyright © 2020-2023  润新知