打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
将Excel文件中的数据导入GridView


         在Asp.net中怎样将Excel文件中的数据导入到GridView中呢?下面我来为大家说说这个详细的过程。Excel文件就是一张数据表,当然我们可以把它看作一个数据源了。


首先我们将这张表中的数据转换为DataTable类型的数据源,做一个函数来解决这个问题:


  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文件的路径即可。


      其次我们就是利用这个可以函数了。要想将客户端的Excel文件显示到客户端的GridView控件当中,这次都是客户端的东西,在我们的服务器端代码是无法做到的。所以我们必须把这个Excel文件暂时的保存到服务器,我们读取服务器端的文件才可以实现这样的功能。看下面的实现代码:


  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('请您选择Excel文件!');</script>");  
  7.                 return;//当无文件时,返回  
  8.             }  
  9.    
  10.             stringfilename = DateTime.Now.ToString("yyyymmddhhMMss") +FileUpload1.FileName;  
  11.             //获取Execle文件名  DateTime日期函数  
  12.             stringsavePath = Server.MapPath(("~/Doc/")+ filename);//Server.MapPath 获得虚拟服务器相对路径  
  13.    
  14.             //如果已经存在就清空  
  15.             ClearFile(Server.MapPath("~/Doc/"));  
  16.    
  17.             FileUpload1.SaveAs(savePath);                        //SaveAs将上传的文件内容保存在服务器上  
  18.    
  19.              
  20.             DataTabledt = createDataSource(savePath);  
  21.             GridView1.DataSource = dt;  
  22.             GridView1.DataBind();  
  23.    
  24.         }  


 

      在上面的代码中我们用到了一个函数ClearFile,它是用来清理文件夹的,我们将Excel文件暂时的存储到服务器端的一个文件夹中,只能暂时的存储,那么东西只会越来越多,而且这些东西也是一些没用的东西,很可能导致系统性能的下降。我们就是用这个函数来清理文件的,下面来一睹这个函数的精妙:


  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.         }  


 



 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
纯函数版文件管理模板-制作教程!
利用Excel函数公式批量导入文件名的方法
python操作excel方法?
将数据输入到matlab中进行绘制
7、数字按行排序
PHP文件上传主要代码讲解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服