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 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器