试图在导出到Word文档时修改网格视图布局

本文关键字:修改 网格 视图 布局 文档 Word | 更新日期: 2023-09-27 18:14:03

我试图添加一个函数到我的代码,将导出Gridview到word文档。作为参考,这里是我用来导出Gridview的代码:

        Response.AddHeader("content-disposition", "attachment;filename=Export.doc");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = "application/vnd.word";
        StringWriter stringWrite = new StringWriter();
        HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        HtmlForm frm = new HtmlForm();
        GridView1.Parent.Controls.Add(frm);
        frm.Attributes["runat"] = "server";
        frm.Controls.Add(GridView1);
        frm.RenderControl(htmlWrite);
        Response.Write(stringWrite.ToString());
        Response.End();

郑重声明,这段代码不是我写的,所以如果你想知道为什么它是某种方式,我不知道。

无论如何,在这个导出文件中有三个问题需要解决:

  1. 表中的单元格只输出两个字符宽;这自然会使表不可读。我怀疑解决这个问题的方法包括使用"Gridview1.Styles"。添加(…)或者给Gridview1添加一个Css类,但是我尝试这样做失败了。

  2. 在网站上,Gridview已经启用了排序。我想防止这些列标题中的超链接被翻译成word文档。

  3. 在网站上,Gridview每一行都有"编辑"answers"删除"功能(最左边一栏,如果重要的话)。我想从word doc导出中排除这一列。

任何人都可以在这些问题上给予帮助,我将不胜感激。

试图在导出到Word文档时修改网格视图布局

    Response.AddHeader("content-disposition", "attachment;filename=Export.doc");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ContentType = "application/vnd.word";
    StringWriter stringWrite = new StringWriter();
    HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    HtmlForm frm = new HtmlForm();
    /*--------------*/
    GridView1.Columns(0).Visible = false; //HIDE EDIT
    GridView1.Columns(1).Visible = false; //HIDE DELETE
    GridView1.AllowSorting = false; //Disable Sorting
    GridView1.DataBind();
    /*--------------*/
    GridView1.Parent.Controls.Add(frm);
    frm.Attributes["runat"] = "server";
    frm.Controls.Add(GridView1);
    frm.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();

我不太确定你在问题1中谈论的是什么,但也许可以尝试禁用列上的自动换行?appropriatecolumn.Wrap = false;