0

我有 GridView,我想生成网格列的 excel 表,有生成 excel 的代码和单击按钮。我的问题是我不希望 Excel 表中网格视图列中的模板字段。我只想要 BoundField DataField

<asp:ImageButton ID="btnExcel" runat="server" Text="Excel" ToolTip="Excel"  ImageUrl="~/Images/Resources/thumb/excel.png" OnClick="btnExcel_Click" />
protected void btnExcel_Click(object sender, ImageClickEventArgs e)
{
    ExportToExcel("Repoet.xls", grdReq);
}


public void ExportToExcel(string strFileName, GridView gv)
{
        HtmlForm form = new HtmlForm();
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", "attachment; filename=" +      strFileName);
        Response.ContentType = "application/excel";
        System.IO.StringWriter sw = new System.IO.StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        form.Controls.Add(gv);
        this.Controls.Add(form);
        form.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
}



<asp:GridView ID="grdReq" runat="server" AutoGenerateColumns="false" CssClass="SimpleGrid"
                OnRowDataBound="grdReq_RowDataBound">
<Columns>
 <asp:BoundField DataField="CandidateID" HeaderText="Candidate Id" />
 <asp:TemplateField>
 <ItemTemplate>
   <asp:HyperLink ID="hlnkEvalSheet" runat="server" Text='<%#Eval("Candidate Name") %>'
    CssClass="logo" NavigateUrl='<%# "~/Recruiter/EvalSheets.aspx?ClientId=" +      hdnClientId.Value  + "&ReqId=" + hdnReqId.Value  %>'
    ImageUrl="~/Images/Resources/search.png" >
    </asp:HyperLink>
 </ItemTemplate>
 </asp:TemplateField>

<asp:BoundField DataField="Candidate Name" HeaderText="Candidate Name" />
<asp:BoundField DataField="Organization" HeaderText="Organization" />                     <asp:BoundField DataField="Desig" HeaderText="Design" /> 
<asp:BoundField DataField="Overall" HeaderText="Overall" />
<asp:BoundField DataField="Qualification" HeaderText="Qualification" /> 
<asp:BoundField DataField="Location" HeaderText="Location" />
<asp:BoundField DataField="Current CTC (LPA)" HeaderText="Current CTC (LPA)" />
</Columns>
</asp:GridView>
4

1 回答 1

0

导出gridview时做一件事,从gridview(单击此处)或主要来源检索数据表上的数据,然后

创建新的gridview对象,如

  Gridview gvexport=new Gridview();
  gvexport.Datasource=dt //retrived data
  gvexport.databind();

使用此 gridview 生成 excel 表

于 2013-04-09T11:56:44.177 回答