zq198972510 2015-06-13 04:43 采纳率: 100%
浏览 1454
已采纳

asp.net中导出DataGrid内容为word遇到的问题!

在asp.net中导出DataGrid内容到word时,html页面中的textbox控件也被导到word了,想问一下,怎么只到出DataGrid中textbox的文字内容到word,不要把textbox控件也导出来了!

Table Gridviewtable = ((Table)GridView1.Controls[0]);
string bankCard = ((TextBox)Gridviewtable.Rows[0].FindControl("textbox1")).Text;
Response.Buffer = true;
Response.Charset = "utf-8";

    //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开

    //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc || .xls || .txt ||.htm

    Response.AppendHeader("Content-Disposition", "attachment;filename='"+bankCard+".doc");
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");

    //Response.ContentType指定文件类型 可以为application/ms-excel || application/ms-word || application/ms-txt || application/ms-html || 或其他浏览器可直接支持文档

    Response.ContentType = "application/ms-word";
    this.EnableViewState = false;


    System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

    GridView1.RenderControl(oHtmlTextWriter);//主要是这句话怎么改,这里是全部输出到word

    //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件

    Response.Write(oStringWriter.ToString());
    Response.End();

  • 写回答

1条回答 默认 最新

  • zq198972510 2015-07-10 13:53
    关注

    在解决这个问题时我想了另外一种方法,首先是在ASP.NET中操作word,使用SaveAs()方法保存到一个和网页表格一样的word到本地,然后在使用上述方法下载制定目录里的文件,这样既可以保存一份到本地,为日后查询使用,也可以提供下载。我的这个方法希望对后来人有帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名