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

 

你可能感兴趣的:(Excel)