I am exporting data to excel from repeater control, which contains some hyperlinks in multiple columns and link buttons in first two columns. I want to remove all hyperlinks as well as remove or hide first two columns, when I export the data to excel from repeater control - "rptrExport". I am not getting any reference specially for repeater on internet. Below is my code:
Export button click even:
protected void btnExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("content-disposition", "attachment;filename=details.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
rptrExport.RenderControl(hw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
Code in aspx class for repeater:
<asp:Repeater ID="rptrExport" runat="server" OnItemDataBound="rptrExport_ItemDataBound">
<HeaderTemplate>
<table id="dataTable" class="table table-bordered" data-cookie="true"
data-cookie-id-table="rptrExport" data-show-export="true" data-page-list="[10, 25, 50, 90, ALL]" border="1" >
<thead style="background-color: #787777; font-size:13px; border-color: white; color: white; white-space:nowrap; vertical-align: middle;">
<tr>
<th data-sortable="true"> See Short desc</th>
<th data-sortable="true">See Long desc</th>
<th data-sortable="true">Website
</th></tr>
</thead>
<tbody style="font-size:13px; color:black">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="text-align: center">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lnkShortDet" runat="server" OnClick="lnkShortDet_Click" CommandArgument='<%#Eval("sht") + "~"+Eval("shtSt") %>'><i class="far fa-file-pdf"></i></asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="lnkShortDet" />
</Triggers>
</asp:UpdatePanel>
</td>
<td style="text-align: center">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lnkLongDet" runat="server" OnClick="lnkLongDet_Click" CommandArgument='<%#Eval("lng") + "~"+Eval("lngSt") %>'><i class="far fa-file-pdf"></i></asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="lng" />
</Triggers>
</asp:UpdatePanel>
</td>
<td>
<asp:HiddenField ID="hdnwebsite" runat="server" Value='<%# Eval("web_url")%>'></asp:HiddenField>
<asp:LinkButton ID="lblWebsite" CommandArgument='<%# Eval("web_url")%>' OnClick="weburl_Click" runat="server" Text='<%# Eval("web_url")%>'> <i class="fa fa-2x fa-file-pdf-o font-red"></i></asp:LinkButton>
</td>
</ItemTemplate>
<FooterTemplate>
</tbody> </table>
</FooterTemplate>
</asp:Repeater>
You have to convert it to string array then remove the wanted records.
Check below link, I think it can help you
Remove tag from HtmlTextWriter