Click here to Skip to main content
15,896,557 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Here my Problem is when i try to export to excel from gridview without error it will export but in that excel sheet i have edit and delete button also how can i slove this prob please give me the suggestion

My code Here:

XML
<asp:GridView ID="Grdreportsale" runat="server" DataKeyNames="id"
            AutoGenerateColumns="False"
            GridLines="None"
            CssClass="mGrid"
            PagerStyle-CssClass="pgr"
            AlternatingRowStyle-CssClass="alt" onrowcancelingedit="Grdreportsale_cancel"
                        onrowdeleting="Grdreportsale_Delete" onrowediting="Grdreportsale_Edit"
                        onrowupdating="Grdreportsale_Update"
                        onrowcommand="Grdreportsale_RowCommand">
            <Columns>
                <asp:TemplateField HeaderText="ID">
                <ItemTemplate>
                <asp:Label ID="lblid" runat="server" Text='<%#Eval("id") %>' />
                </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Company Name">
                <ItemTemplate>
                <asp:Label ID="lblcomp" runat="server" Text='<%#Eval("companyname") %>'/>
                </ItemTemplate>
                <EditItemTemplate>
               <asp:TextBox ID="txtcompname" runat="server" Text='<%#Eval("companyname") %>' CssClass="txtbxgrd" />
                </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Branch Id">
                <ItemTemplate>
                <asp:Label ID="lblfname" runat="server" Text='<%#Eval("branchid") %>'/>
                </ItemTemplate>
                <EditItemTemplate>
               <asp:TextBox ID="txtbranch" runat="server" Text='<%#Eval("branchid") %>' CssClass="txtbxgrd" />
                </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Mobile">
                <ItemTemplate>
                <asp:Label ID="lblmob" runat="server" Text='<%#Eval("mobile") %>'/>
                </ItemTemplate>
                <EditItemTemplate>
              <asp:TextBox ID="txtmob" runat="server" Text='<%#Eval("mobile") %>' CssClass="txtbxgrd"  />
                </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Invoice">
                <ItemTemplate>
               <%-- <asp:Label ID="lblinvoice" runat="server" Text='<%#Eval("invoice") %>'/>--%>
                    <asp:LinkButton ID="lnkbtninvoice" runat="server" Text='<%#Eval("invoice")%>' CommandArgument='<%#Bind("id")%>'></asp:LinkButton>
                </ItemTemplate>
                <EditItemTemplate>
              <asp:TextBox ID="txtinvoice" runat="server" Text='<%#Eval("invoice") %>' CssClass="txtbxgrd"  />
                </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Category">
                <ItemTemplate>
                <asp:Label ID="lblcatgry" runat="server" Text='<%#Eval("category") %>'/>
                </ItemTemplate>
                <EditItemTemplate>
              <asp:TextBox ID="txtcatgry" runat="server" Text='<%#Eval("category") %>' CssClass="txtbxgrd"  />
                </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Grand Total">
                <ItemTemplate>
                <asp:Label ID="lblgtot" runat="server" Text='<%#Eval("grandtoal") %>'/>
                </ItemTemplate>
                <EditItemTemplate>
              <asp:TextBox ID="txtgtot" runat="server" Text='<%#Eval("grandtoal") %>' CssClass="txtbxgrd"  />
                </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="EditItem">
                <EditItemTemplate>
                <asp:LinkButton ID="lbtnupdate" Text="update" runat="server" CommandName="update" style="color:Black;" />
                <asp:LinkButton ID="lbtncancel" Text="cancel" runat="server" CommandName="cancel" style="color:Black;"/>
                </EditItemTemplate>
                <ItemTemplate>
                <asp:LinkButton ID="lbtnedit" Text="Edit" runat="server" CommandName="edit" style="color:Black;" />
                <asp:LinkButton ID="lbtndelete" Text="Delete" runat="server" CommandName="delete"  style="color:#F25F4B;"/>
                </ItemTemplate>
                </asp:TemplateField>
            </Columns>
                <PagerStyle CssClass="pgr" />
                <AlternatingRowStyle CssClass="alt" />
        </asp:GridView>

CS CODE HERE:
C#
protected void btnexport_Click(object sender, EventArgs e)
{
    try
    {
        string confirmValue = Request.Form["confirm_value"];
        if (confirmValue == "Yes")
        {
            Response.ClearContent();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "InvoiceDetails.xls"));
            Response.ContentType = "application/ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);
            Grdreportsale.AllowPaging = false;
            ExportBindData();

            //Change the Header Row back to white color
            Grdreportsale.HeaderRow.Style.Add("background-color", "#FFFFFF");
            //Applying stlye to gridview header cells

            for (int i = 0; i < Grdreportsale.HeaderRow.Cells.Count; i++)
            {
                Grdreportsale.HeaderRow.Cells[i].Style.Add("background-color", "#df5015");
            }
            Grdreportsale.RenderControl(htw);
            Response.Write(sw.ToString());
            Response.End();
        }
        else
        {
            // this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked NO!')", true);
        }
    }
    catch (Exception ex)
    {
        string script = "<script type=\"text/javascript\"> window.alert('" + ex.Message + "'); </script>";
        ClientScript.RegisterClientScriptBlock(this.GetType(), "alertscript", script);
    }
    finally
    {
        rsdal = null;
        rsbal = null;
    }
}
protected void ExportBindData()
{
    try
    {
        DataTable dtglb = new DataTable();
        using (con = new SqlConnection(rsdal.constr))
        {
            string SQL1 = "select id,companyname,branchid,mobile,invoice,category,grandtoal from Client_Bill_TB";
            SqlCommand cmd = new SqlCommand(SQL1, con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable ds = new DataTable();
            //DataColumn faculty = new DataColumn();
            da.Fill(ds);
            Grdreportsale.DataSourceID = null;

            //New Code Added Here
            DataRow row = ds.NewRow();
            //your columns
            row["id"] = "1";
            row["companyname"] = "2";
            row["branchid"] = "2";
            row["mobile"] = "2";
            row["invoice"] = "2";
            row["category"] = "2";
            row["grandtoal"] = "2";
            dtglb.ImportRow(row);
            foreach (DataRow dr in dtglb.Rows)
            {
                ds.Rows.Add(dr);
            }
            //=========
            Grdreportsale.DataSource = ds;
            Grdreportsale.DataBind();
        }
    }
    catch
    {
        throw;
    }
}



[Edit member="Tadit"]
Added pre tags.
[/Edit]
Posted
v2

1 solution

Just set the visibility of the controls column to false.

On btnexport_Click Event
add

C#
Grdreportsale.Columns[6].Visible = false


I assumed that the EDIT CONTROLS ARE IN COLUMN 6 But you can just change [6] to whatever column your controls are.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900