把WebForm数据导出到Excel中

2016-02-19 18:59 194 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐把WebForm数据导出到Excel中,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Web开发 】

  上午给系统的订单管理部分添加了一个功能,把查询到的订单信息导出到Excel,供管理员分析用。以前写的代码如下:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  Response.Clear();
  Response.BufferOutput = true;
  Response.Charset = "GB2312";
  Response.AppendHeader("Content-Disposition","attachment;filename = FileName.xls");
  Response.ContentEncoding = Encoding.GetEncoding("GB2312");
  Response.ContentType = "application/ms-excel";
  this.EnableViewState = false;
  System.Globalization.CultureInfo myinfo = new System.Globalization.CultureInfo("ZH-CN", true);
  StringWriter osw = new StringWriter(myinfo);
  HtmlTextWriter ohtw = new HtmlTextWriter(osw);
  dgQueryResult.RenderControl(ohtw);
  Response.Write(osw);
  Response.End(); 
          我的查询用了分页,客户要求把所有查询到的数据都导出到Excel,所以不能象以前那样通过把控件的内容导出到Excel来实现此功能,于是把代码改成这样:
     Response.Clear();
  Response.BufferOutput = true;
  Response.Charset = "GB2312";
  Response.AppendHeader("Content-Disposition","attachment;filename = 订单.xls");
  Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
  Response.ContentType = "application/ms-excel";
  string strExcelHeader = string.Empty;
  string strExcelItems;
  if(ViewState["SQL"] != null)    // 取前面查询用的SQL语句
  {
       // 取得各列标题,各标题之间以分割,最后一个列标题后加回车符 
       strExcelHeader = "订单号经销商地区小类商品实付金额下单时间有效状态处理状态";                                     
      // 向HTTP输出流中写入取得的数据信息 
      Response.Write(strExcelHeader);   
           
      // 逐行处理查询结果数据 
      ITDBHandle itDbHandle = new ITDBHandle();
      itDbHandle.QueryString = ViewState["SQL"].ToString();
      SqlDataReader reader = itDbHandle.ExecuteDataReader();      
      while(reader.Read()) 
      { 
          strExcelItems = string.Empty;
          strExcelItems += reader["OrderID"].ToString() + "";   
          strExcelItems += reader["DealerName"].ToString() + "";
          strExcelItems += reader["City"].ToString() + "";
          strExcelItems += reader["SmallClassName"].ToString() + "";
          strExcelItems += reader["BrandName"].ToString() + reader["Model"].ToString() + "";
          strExcelItems += reader["TotalPrice"].ToString() + "";
          strExcelItems += reader["OrderDate"].ToString() + "";
          strExcelItems += reader["IsValid"].ToString() + "";
          strExcelItems += reader["DealState"].ToString()  +"";                                                  
          Response.Write(strExcelItems); 
     } 
      reader.Close();
      Response.End();
  }   
         我这里只是简单的把查询到的数据以Excel的形式Write出来(当然也可以是其他格式,比如XML),对简单的需求足矣了,当然,用.NET直接去操作Excel文件也是很简单的,有很多这样的例子可以参考。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1619755.html

延伸阅读
怎么把微信聊天记录导出到别的手机上?   现在,越来越多的人加入了使用微信的队伍中来,日积月累,我们的手机微信里面保存了很多好友的聊天记录,有时候我们在另一部手机上上使用微信时,聊天记录是不是也就都没有了呢?不会的,那么怎么把微信聊天记录导出到别的手机上?下面小编为大家介绍一种简单的方法,一起来看看吧! 微信聊...
将数据导出到Excel的方法有多种,速度有快慢之分,我用过三种方法,速度都比较快,下面的一种利用Excel内置的功能,是三种之中最快的。其中最主要的是下面两句:     xlQuery := xlSheet.QueryTables.Add(ADOQExport.Recordset ,xlSheet.Range['A3']);     xlQuery.Refresh; 不过...
在网上的导出为EXCEL文档的方法大概是这样的 DimiAsInteger,jAsInteger DimmyexcelAsNewExcel.Application DimmybookAsNewExcel.Workbook DimmysheetAsNewExcel.Worksheet Setmybook=myexcel.Workbooks.Add'添加一个新的BOOK Setmysheet=mybook.Worksheets.Add'添加一个新的SHEET 'Fori=1Tomyre...
从sql导出到mysql的方法很多,现介绍一种无需编程,直接利用sql和mysql里的图形界面进行导入导出的简单方法。 前提是已经安装了sqlserver客户端和mysql的图形界面管理工具PHPmyadmin。 在控制台根目录下打开sqlserver企业管理器,新建sqlserver组,根据自己的情况进行选择;然后新建sqlserver 注册,进行对sqlserver的连接。准...
微信收藏怎么导出到电脑   第一种方法:可以在电脑上找到微信---我的收藏在手机上的存储路径,然后将其直接拷贝的电脑上,路径如下: 图片:Tencent/Micromsg/camera里面,微信安装在手机就在手机内存里找,安装在卡上就在存储卡的这个位置; 文件:在sdcard的Tencent的MicroMsg的ebb34e976d3351b里面的voice里。 第...

经验教程

57

收藏

23
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部