把一个很大的EXCEL 要如何倒入到数据库
 
    小点的EXCEL是可以倒的!但是文件一大就会没反映无法倒入!  个位不知道有什么好的方法来处理!      

解决方案 »

  1.   

     应该都是可以导入的,我用的是一个文件上传控件,然后导入excel。你看看吧       
            string path = FileUpload1.PostedFile.FileName.ToString();
            string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties=Excel 8.0;";
            OleDbConnection oleconn = new OleDbConnection(str);
            OleDbCommand olecmd = new OleDbCommand("select * from [sheet1$]", oleconn);
            oleconn.Open();
            OleDbDataReader olereader = olecmd.ExecuteReader();
            SqlConnection conn = new SqlConnection("server=.;database=Northwind;Integrated Security=SSPI");
            conn.Open();
            SqlDataAdapter ada = new SqlDataAdapter("select * from shippers",conn);
            DataSet ds = new DataSet();
            ada.Fill(ds,"shippers");
            while (olereader.Read())
            {
                DataRow datarow = ds.Tables["shippers"].NewRow();
                datarow["CompanyName"]=olereader.GetValue(1).ToString();
                datarow["Phone"]=olereader.GetValue(2).ToString();
                ds.Tables["shippers"].Rows.Add(datarow);
            }
            olereader.Close();
            oleconn.Dispose();
            oleconn.Close();
            SqlCommand cmd = new SqlCommand("insert into shippers(CompanyName,Phone) values (@name,@phone)",conn);
            cmd.Parameters.Add("@name",SqlDbType.NVarChar,20,"CompanyName");                                      
            cmd.Parameters.Add("@phone",SqlDbType.NVarChar,20,"Phone");                                            
            ada.InsertCommand = cmd;
            ada.Update(ds,"shippers");
            ada.Dispose(); 
            conn.Dispose();
            conn.Close();