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到本地,然后在使用上述方法下载制定目录里的文件,这样既可以保存一份到本地,为日后查询使用,也可以提供下载。我的这个方法希望对后来人有帮助。

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

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?