小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

將Excel文件中的數(shù)據(jù)導(dǎo)入GridView

 醉人說夢(mèng) 2014-07-25


         在Asp.net中怎樣將Excel文件中的數(shù)據(jù)導(dǎo)入到GridView中呢?下面我來為大家說說這個(gè)詳細(xì)的過程。Excel文件就是一張數(shù)據(jù)表,當(dāng)然我們可以把它看作一個(gè)數(shù)據(jù)源了。


首先我們將這張表中的數(shù)據(jù)轉(zhuǎn)換為DataTable類型的數(shù)據(jù)源,做一個(gè)函數(shù)來解決這個(gè)問題:


  1. private DataTable createDataSource(string strPath)  
  2.         {  
  3.             stringstrCon;  
  4.             strCon = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + strPath  + ";Extended Properties=Excel 8.0";  
  5.             OleDbConnectioncon = new OleDbConnection(strCon);  
  6.             OleDbDataAdapterda = new OleDbDataAdapter("select * from [Sheet1$]", con);  
  7.             DataTabledt = new DataTable();  
  8.             da.Fill(dt);  
  9.             returndt;  
  10.         }  


只需要傳入Excel文件的路徑即可。


      其次我們就是利用這個(gè)可以函數(shù)了。要想將客戶端的Excel文件顯示到客戶端的GridView控件當(dāng)中,這次都是客戶端的東西,在我們的服務(wù)器端代碼是無法做到的。所以我們必須把這個(gè)Excel文件暫時(shí)的保存到服務(wù)器,我們讀取服務(wù)器端的文件才可以實(shí)現(xiàn)這樣的功能??聪旅娴膶?shí)現(xiàn)代碼:


  1. protected void Button1_Click(objectsender, EventArgs e)  
  2.         {  
  3.             //檢查文件是否存在  
  4.             if(FileUpload1.HasFile == false)//HasFile用來檢查FileUpload是否有指定文件  
  5.             {  
  6.                 Page.ClientScript.RegisterStartupScript(Page.GetType(),"message", "<script language='javascript' defer>alert('請(qǐng)您選擇Excel文件!');</script>");  
  7.                 return;//當(dāng)無文件時(shí),返回  
  8.             }  
  9.    
  10.             stringfilename = DateTime.Now.ToString("yyyymmddhhMMss") +FileUpload1.FileName;  
  11.             //獲取Execle文件名  DateTime日期函數(shù)  
  12.             stringsavePath = Server.MapPath(("~/Doc/")+ filename);//Server.MapPath 獲得虛擬服務(wù)器相對(duì)路徑  
  13.    
  14.             //如果已經(jīng)存在就清空  
  15.             ClearFile(Server.MapPath("~/Doc/"));  
  16.    
  17.             FileUpload1.SaveAs(savePath);                        //SaveAs將上傳的文件內(nèi)容保存在服務(wù)器上  
  18.    
  19.              
  20.             DataTabledt = createDataSource(savePath);  
  21.             GridView1.DataSource = dt;  
  22.             GridView1.DataBind();  
  23.    
  24.         }  


 

      在上面的代碼中我們用到了一個(gè)函數(shù)ClearFile,它是用來清理文件夾的,我們將Excel文件暫時(shí)的存儲(chǔ)到服務(wù)器端的一個(gè)文件夾中,只能暫時(shí)的存儲(chǔ),那么東西只會(huì)越來越多,而且這些東西也是一些沒用的東西,很可能導(dǎo)致系統(tǒng)性能的下降。我們就是用這個(gè)函數(shù)來清理文件的,下面來一睹這個(gè)函數(shù)的精妙:


  1. private void ClearFile(stringFilePath)  
  2.         {  
  3.             String[]files = System.IO.Directory.GetFiles(FilePath);  
  4.             if(files.Length > 5)  
  5.             {  
  6.                 for(int i = 0; i < 5; i++)  
  7.                 {  
  8.                     try  
  9.                     {  
  10.                         System.IO.File.Delete(files[i]);  
  11.                     }  
  12.                     catch  
  13.                     {  
  14.                     }  
  15.    
  16.                 }  
  17.             }  
  18.         }  


 



 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多