将GridView导出到Excel仅导出<div>和</div>

时间:2018-03-14 22:26:49

标签: html asp.net vb.net gridview export-to-excel

我是.net的新手。我编写了一个代码,将gridview导出到excel中。导出工作,但我没有获取gridview数据,而是在导出的文档中获取标签。如果我将gridview导出到docs,则情况相同。这是导出文件的样子

enter image description here

GridView我已经被搜索查询填充了。以下是我的代码的摘录:

Protected Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    MsgBox("Exporting")

    Response.Clear()
    Response.Buffer = True

    Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls")
    Response.Charset = ""
    Response.ContentType = "application/vnd.ms-excel"

    Dim sw As New StringWriter()
    Dim hw As New HtmlTextWriter(sw)

    gridviewID.AllowPaging = False
    gridviewID.DataSource = gvDataTable
    gridviewID.DataBind()
    gridviewID.RenderControl(hw)

    Response.Write(sw.ToString())
    Response.Flush()
    Response.End()

我的GridView不在Form标签内,因为我的母版页中已有Form标签。这就是我的GridView的外观:

<asp:GridView ID="gridviewID" runat="server"
                        AutoGenerateColumns="False" onrowcommand="searchResultsGridView_RowCommand">
                        <Columns>
                            <asp:BoundField DataField="logNum" HeaderText="ID" ReadOnly="True" ItemStyle-CssClass="hideme" />

                            <asp:BoundField DataField="workIDName" HeaderText="work NAME"
                              SortExpression="workIDName" ReadOnly="True" />

                            <asp:BoundField DataField="LeadIdName" HeaderText=" LEAD"
                              SortExpression="LeadIdName" ReadOnly="True" />

                            <asp:BoundField DataField="Lead_Name2"// and a lot of fields till closing tags

我在页面加载后立即放置了验证功能。 在导出功能之后立即放置此功能将不起作用。它根本不会让我出口。

我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

在将数据绑定到网格视图之前,您似乎执行了导出功能。尝试在单独的事件中加载数据并在declare option exist:serialize "method=xml omit-xml-declaration=yes"; 事件中执行导出功能。

检查示例代码。

Button4_Click