When i am trying to export data from gridview to excel i an also getting hyperlink along with that, how can i remove that before export. below is my code
<div align="right" style="padding-top:5px; padding-right:5px">
<span title="Export Data to Excel"><asp:ImageButton ID="btnExporttoExcel"
runat="server" ImageUrl="~/img/Excel_Logo.png"
onclick="btnExporttoExcel_Click" /></span>
<span title="Export Data to Word"><asp:ImageButton ID="btnExporttoWord"
runat="server" ImageUrl="~/img/Word_Logo.png" onclick="btnExporttoWord_Click" /></span>
<span title="Export Data to Pdf"><asp:ImageButton ID="btnExporttopdf"
runat="server" ImageUrl="~/img/pdf_Logo.png" onclick="btnExporttopdf_Click" /></span>
</div>
<div style="height:470px" class="fontInside">
<asp:GridView ID="gridCompany" runat="server"
AllowPaging="True" PageSize="18"
CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt"
onpageindexchanging="gridCompany_PageIndexChanging" AutoGenerateColumns="false"
GridLines="None" HeaderStyle-CssClass="fontInside" AllowSorting="true"
DataKeyNames="Company_Id" onsorting="gridCompany_Sorting"
HeaderStyle-ForeColor="Black">
<PagerSettings FirstPageText="First Page" LastPageText="Last Page"
Mode="NextPreviousFirstLast" NextPageText="Next Page"
PreviousPageText="Previous Page" />
<AlternatingRowStyle CssClass="alt" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkHeader" runat="server" onclick = "checkAll(this);"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkChild" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Company" HeaderStyle-Width="250px" SortExpression="CompanyName" ItemStyle-CssClass="fontInside">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" ForeColor="#0681ab" Font-Underline="false" NavigateUrl='<%#"BasicCompanyHome.aspx?CompanyName="+DataBinder.Eval(Container.DataItem,"CompanyName")+"&CompanyID="+DataBinder.Eval(Container.DataItem,"Company_Id")%>' Text='<%#Eval("CompanyName")%>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Phone_No" HeaderText="Phone" ItemStyle-CssClass="fontInside" SortExpression="Phone_No"/>
<asp:BoundField DataField="Revenue" HeaderText="Revenue" ItemStyle-CssClass="fontInside" SortExpression="Revenue"/>
<asp:BoundField DataField="Employees" HeaderText="Employees" ItemStyle-CssClass="fontInside" SortExpression="Employees"/>
<asp:BoundField DataField="All_Industries" HeaderText="Industry" ItemStyle-CssClass="fontInside" SortExpression="All_Industries"/>
<asp:BoundField DataField="All_Countries" HeaderText="Country" ItemStyle-CssClass="fontInside" SortExpression="All_Countries"/>
<asp:BoundField DataField="Status" HeaderText="Status" ItemStyle-CssClass="fontInside" SortExpression="Status"/>
</Columns>
<PagerStyle CssClass="pgr" Font-Size="Small" />
<AlternatingRowStyle CssClass="alt" />
</asp:GridView>
</div>
.cs
protected void btnExporttoExcel_Click(object sender, ImageClickEventArgs e)
{
//FunctionForExportandDocument("attachment;filename=GridViewExport.xls", "application/vnd.ms-excel");
}
private void FunctionForExportandDocument(string header, string contentType)
{
SaveCheckedValuesForSheetORDoc();
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", header);
Response.Charset = "";
Response.ContentType = contentType;
StringWriter _objstringbuilder = new StringWriter();
HtmlTextWriter _objhtmltextwriter = new HtmlTextWriter(_objstringbuilder);
gridCompany.AllowPaging = false;
string id = Session["id"].ToString();
if (Convert.ToInt32(id) < 9999)
{
BindCompaniesFree();
}
else
{
BindCompanies();
}
gridCompany.HeaderRow.Style.Add("background-color", "#FFFFFF");
gridCompany.HeaderRow.Cells[0].Visible = false;
for (int i = 0; i < gridCompany.HeaderRow.Cells.Count; i++)
{
GridViewRow row = gridCompany.Rows[i];
gridCompany.HeaderRow.Cells[i].Style.Add("background-color", "#FFFFFF");
gridCompany.HeaderRow.Cells[i].Style.Add("text-Underline", "None");
gridCompany.HeaderRow.Cells[i].Style.Add("color", "#FFFFFF");
PrepareControlForExport(row);
//HyperLink rowNumOfStores = (HyperLink)row.Cells[1].Controls[0];
//rowNumOfStores.Enabled = false;
}
if (ViewState["CHECKED_ITEMS_DISPLAY"] != null)
{
ArrayList CheckBoxArray = (ArrayList)ViewState["CHECKED_ITEMS_DISPLAY"];
for (int i = 0; i < gridCompany.Rows.Count; i++)
{
GridViewRow _objgridrow = gridCompany.Rows[i];
_objgridrow.Visible = false;
int index = _objgridrow.RowIndex;
if (CheckBoxArray.Contains(index))
{
_objgridrow.Visible = true;
_objgridrow.Cells[0].Visible = false;
}
}
}
gridCompany.RenderControl(_objhtmltextwriter);
Response.Output.Write(_objstringbuilder.ToString());
Response.End();
}
private void SaveCheckedValuesForSheetORDoc()
{
ArrayList _objuserdetails = new ArrayList();
int _itemindexnumber = 0;
foreach (GridViewRow gvrow in gridCompany.Rows)
{
_itemindexnumber = gvrow.RowIndex;
CheckBox chkvalidate = (CheckBox)gvrow.FindControl("chkChild");
if (ViewState["CHECKED_ITEMS_DISPLAY"] != null)
_objuserdetails = (ArrayList)ViewState["CHECKED_ITEMS_DISPLAY"];
if (chkvalidate.Checked == true)
{
if (!_objuserdetails.Contains(_itemindexnumber))
{
_objuserdetails.Add(_itemindexnumber);
}
}
else
{
_objuserdetails.Remove(_itemindexnumber);
}
}
if (_objuserdetails != null && _objuserdetails.Count > 0)
{
ViewState["CHECKED_ITEMS_DISPLAY"] = _objuserdetails;
}
}
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for the
//specified ASP.NET server control at run time.
}