• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

asp.net将DataSet中的数据导出Execl并提供下载

其他 水墨上仙 2280次浏览

asp.net将DataSet中的数据导出Execl并提供下载那么把DataSet中的数据导出,也就是把DataSet中的表中的各行信息,以ms-excel的格式Response到http流,这样就OK了。说明:参数ds应为填充有数据表的DataSet,文件名是全名,包括后缀名,如execl2006.xls

public  void CreateExcel(DataSet ds,string FileName)  
{ 
 HttpResponse resp; 
 resp = Page.Response; 
 resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
 resp.AppendHeader("Content-Disposition", "attachment;filename="+FileName);    
 string colHeaders= "", ls_item="";   
 
 //定义表对象与行对象,同时用DataSet对其值进行初始化 
 DataTable dt=ds.Tables[0]; 
 DataRow[] myRow=dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
        int i=0; 
        int cl=dt.Columns.Count; 
    
 //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符 
 for(i=0;i<cl;i++)
 {
 if(i==(cl-1))//最后一列,加n
 {
 colHeaders +=dt.Columns[i].Caption.ToString() +"n"; 
 }
 else
 {
 colHeaders+=dt.Columns[i].Caption.ToString()+"t"; 
 }
       
 }
 resp.Write(colHeaders); 
 //向HTTP输出流中写入取得的数据信息 
   
 //逐行处理数据   
 foreach(DataRow row in myRow) 
 {     
 //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据     
 for(i=0;i<cl;i++)
 {
 if(i==(cl-1))//最后一列,加n
 {
 ls_item +=row[i].ToString()+"n"; 
 }
 else
 {
 ls_item+=row[i].ToString()+"t"; 
 }
  
 }
 resp.Write(ls_item); 
 ls_item=""; 
    
 }    
 resp.End();  
 }


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明asp.net将DataSet中的数据导出Execl并提供下载
喜欢 (0)
加载中……