『深巷の布衣』


我为她/它狂~~~

在工作中注重结果,在生活中享受过程!
posts - 208,comments - 106,trackbacks - 5

在以下按钮单击事件中实现:
private void btnMIME_Click(object sender, System.EventArgs e)
{
dgShow.AllowPaging = false;
 BindData(); 

  Response.ContentType = "application/vnd.ms-excel";
 Response.AddHeader("Content-Disposition", "inline;filename="
   +   HttpUtility.UrlEncode("下载文件.xls",Encoding.UTF8   )   );  
 

 //如果输出为Word,修改为以下代码
 //Response.ContentType = "application/ms-word"
 //Response.AddHeader("Content-Disposition", "inline;filename=test.doc")
 StringBuilder sb=new StringBuilder();
 System.IO.StringWriter sw = new System.IO.StringWriter(sb);
 System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
 sb.Append("<html><body>");
 dgShow.RenderControl(hw);
 sb.Append("</body></html>");
 Response.Write(sb.ToString());
 Response.End();
dgShow.AllowPaging = true;
BindData(); 

}
注:1.若DataGrid中有按钮列,则在导出前应先将其隐藏.
    2.若DataGrid有分页,而又要打印所有数据的话就应先取消分页.

2006年7月19日-补充:
若为VS.NET2005中的数据绑定新控件GridView,以上代码会提示异常错误,经网上搜索,解决方案如下:

1、在导出界面中重载
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }
2、
web.config中修改<pages enableEventValidation ="false" ></pages>

<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"

 CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView" %>

posted on 2006-07-10 11:33 潘奕涛 阅读(1523) 评论(12)  编辑 收藏 所属分类: ASP.NET技术文章

FeedBack:
2006-07-11 22:50 | joinzhang      
请问,如果DataGrid中某个Cell中的数据中包含回车符,那么生成的Excel文档中,会不会转到下一行,从而导致显示不正常!
  回复  引用  查看    
#2楼 [楼主]
2006-07-19 16:12 | 潘奕涛      
应该不会
  回复  引用  查看    
2006-08-14 16:20 | 周建军 [未注册用户]
小弟对C#不是很熟,你能否把这一完整页面发给我看看呢,不盛感激
我的邮箱是jianjunzhou4@163.com
  回复  引用    
2006-10-09 23:22 | 周夏芳 [未注册用户]
您好!
可以请教一个问题吗,我希望C#输出的Excel用写字板打开时是ASCII码形式的,而不是这种html的。请问怎么实现。谢谢
  回复  引用    
#5楼 [楼主]
2006-10-15 09:53 | 潘奕涛      
@周夏芳
不好意思,这个我也不懂,不过好像没什么必要吧
  回复  引用  查看    
2006-10-18 14:47 | 强 [未注册用户]
我也需要一个这样的例子,可否给我一份全的代码,不胜感激
zhang_zhiqiang918@163.com
  回复  引用    
2006-11-03 14:12 | 小彤 [未注册用户]
我现在也想做一个将html中的数据转换成word的模板里面。。

学长能不能把源码发给我参考一下?谢谢了。
  回复  引用    
2006-11-03 14:12 | 小彤 [未注册用户]
我现在也想做一个将html中的数据转换成word的模板里面。。

学长能不能把源码发给我参考一下?谢谢了。
我的邮箱:syt_912@163.com
  回复  引用    
2007-02-10 20:41 | flysent [未注册用户]
你好!
能否给我一个完整一点的例子,将数据写入word!
邮件flysent@hotmail.com
谢谢
  回复  引用    
2007-04-17 00:14 | monkey [未注册用户]
dgShow 是什么?
  回复  引用    
#11楼 [楼主]
2007-04-26 00:30 | 潘奕涛      
DataGrid控件
  回复  引用  查看    
2007-08-01 22:36 | 赵宝元 [未注册用户]
小弟对C#不是很熟,你能否把这一完整页面asp.net输出到excel发给我看看呢,不盛感激 邮箱 baoyuan-zhao@163.com
  回复  引用