[C#] asp.net将DataSet中的数据导出Execl并提供下载 →→→→→进入此内容的聊天室

来自 , 2019-10-15, 写在 C#, 查看 168 次.
URL http://www.code666.cn/view/93573dae
  1. public  void CreateExcel(DataSet ds,string FileName)  
  2. {
  3.  HttpResponse resp;
  4.  resp = Page.Response;
  5.  resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
  6.  resp.AppendHeader("Content-Disposition", "attachment;filename="+FileName);    
  7.  string colHeaders= "", ls_item="";  
  8.  
  9.  //定义表对象与行对象,同时用DataSet对其值进行初始化
  10.  DataTable dt=ds.Tables[0];
  11.  DataRow[] myRow=dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
  12.         int i=0;
  13.         int cl=dt.Columns.Count;
  14.    
  15.  //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
  16.  for(i=0;i<cl;i++)
  17.  {
  18.  if(i==(cl-1))//最后一列,加n
  19.  {
  20.  colHeaders +=dt.Columns[i].Caption.ToString() +"n";
  21.  }
  22.  else
  23.  {
  24.  colHeaders+=dt.Columns[i].Caption.ToString()+"t";
  25.  }
  26.        
  27.  }
  28.  resp.Write(colHeaders);
  29.  //向HTTP输出流中写入取得的数据信息
  30.    
  31.  //逐行处理数据  
  32.  foreach(DataRow row in myRow)
  33.  {    
  34.  //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据    
  35.  for(i=0;i<cl;i++)
  36.  {
  37.  if(i==(cl-1))//最后一列,加n
  38.  {
  39.  ls_item +=row[i].ToString()+"n";
  40.  }
  41.  else
  42.  {
  43.  ls_item+=row[i].ToString()+"t";
  44.  }
  45.  
  46.  }
  47.  resp.Write(ls_item);
  48.  ls_item="";
  49.    
  50.  }    
  51.  resp.End();  
  52.  }
  53. //csharp/7259

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

这儿你可以回复上面这条便签

captcha