把WebForm数据导出到Excel中

来源:互联网 发布:淘宝代销零食要什么证 编辑:程序博客网 时间:2024/05/01 21:21
上午给系统的订单管理部分添加了一个功能,把查询到的订单信息导出到Excel,供管理员分析用。以前写的代码如下:
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语句
{
    
// 取得各列标题,各标题之间以/t分割,最后一个列标题后加回车符  
     strExcelHeader = "订单号/t经销商/t地区/t小类/t商品/t实付金额/t下单时间/t有效状态/t处理状态/t/n";                                      
    // 向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() + "/t";    
        strExcelItems 
+= reader["DealerName"].ToString() + "/t";
        strExcelItems 
+= reader["City"].ToString() + "/t";
        strExcelItems 
+= reader["SmallClassName"].ToString() + "/t";
        strExcelItems 
+= reader["BrandName"].ToString() + reader["Model"].ToString() + "/t";
        strExcelItems 
+= reader["TotalPrice"].ToString() + "/t";
        strExcelItems 
+= reader["OrderDate"].ToString() + "/t";
        strExcelItems 
+= reader["IsValid"].ToString() + "/t";
        strExcelItems 
+= reader["DealState"].ToString()  +"/n";                                                   
        Response.Write(strExcelItems);  
   }  
    reader.Close();
    Response.End();
}
    
       我这里只是简单的把查询到的数据以Excel的形式Write出来(当然也可以是其他格式,比如XML),对简单的需求足矣了,当然,用.NET直接去操作Excel文件也是很简单的,有很多这样的例子可以参考。
   
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信不小心点了注册新账号怎么办 在京东买东西商家不发货怎么办 在京东买东西坏了商家不退货怎么办 苯扎氯铵溶液不小心喝了一口怎么办 苯扎氯铵溶液没有稀释就用了怎么办 牛油果切开了但是没熟怎么办 手机安装程序时解析包出错怎么办 因俩人不合适分手了很难受怎么办 中考结束后成绩不好的该怎么办 在京东自营药房买药没有处方怎么办 平安普惠账号不可以注销怎么办? 京东购物非自营货没到降价了怎么办 实体店商家不承认卖的是假货怎么办 衣服上的装饰圆扣掉下来了怎么办 没在京东买东西却收到退款怎么办 小米分期付款买的手机不要了怎么办 唯品会在线支付后商品有问题怎么办 红米手机把时间删了怎么办 红米桌面上的时间删了怎么办 华为手机玩游戏老是闪退怎么办 别人家无线网距离太远信号差怎么办 微信公众号交话费交错了怎么办 手机卡里还有话费销户的话怎么办 号码忘记交话费变成空号怎么办 多屏互动没办法隔空播放怎么办? 一个人长期受一件事的打击怎么办 物流信息显示快递被别人签收怎么办 现在打工的人被领导骂怎么办 加密狗丢了打不开软件了怎么办 手机微信可以打开网页打不开怎么办 手机中国网打开网速慢该怎么办 在韩国用中国软件网速特别慢怎么办 淘宝退货快递一直没显示到货怎么办 高二美术生集训时文化课怎么办 唯品会不支持7天无理由退货怎么办 sy来4am了孤存怎么办 淘宝网买的电器坏了怎么办 在闲鱼上买的电器是坏的怎么办 打开时全屏不知变成小屏怎么办 苹果6s原装数据线不充电怎么办 vivo手机安卓系统耗电快怎么办