Hi mehad,
I have created sample using your code.
HTML
<div>
<asp:Button ID="btnExport_Page" CssClass="add" runat="server" OnClick="btnExport_Page_Click"
Text="export page"></asp:Button>
</div>
<asp:GridView runat="server" AutoGenerateColumns="False" DataKeyNames="CustomerId"
AllowPaging="true" PageSize="5" ID="gvProcessReport" DataSourceID="SqlDataSource1" OnPageIndexChanging = "OnPaging">
<Columns>
<asp:TemplateField HeaderText="CustomerId">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("CustomerId") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:TextBox ID="txtMessage" TextMode="MultiLine" runat="server" Enabled="false"
Text='<%# Eval("Name") %>' Width="97%"></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="200px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Country">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("Country") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestConnectionString %>"
SelectCommand="SELECT * FROM [Customers]"></asp:SqlDataSource>
Code
public void ExportOnlyOnePage()
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
using (StringWriter sw = new StringWriter())
{
HtmlTextWriter hw = new HtmlTextWriter(sw);
gvProcessReport.AllowPaging = false;
gvProcessReport.DataBind();
gvProcessReport.HeaderRow.BackColor = System.Drawing.Color.White;
foreach (TableCell cell in gvProcessReport.HeaderRow.Cells)
{
cell.BackColor = gvProcessReport.HeaderStyle.BackColor;
}
foreach (GridViewRow row in gvProcessReport.Rows)
{
row.BackColor = System.Drawing.Color.White;
foreach (TableCell cell in row.Cells)
{
if (row.RowIndex % 2 == 0)
{
cell.BackColor = gvProcessReport.AlternatingRowStyle.BackColor;
}
else
{
cell.BackColor = gvProcessReport.RowStyle.BackColor;
}
cell.CssClass = "textmode";
}
}
gvProcessReport.RenderControl(hw);
string style = @"<style> .textmode { } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Confirms that an HtmlForm control is rendered for the specified ASP.NET server control at run time. */
}
protected void OnPaging(object sender, GridViewPageEventArgs e)
{
GridView gv = (GridView)gvProcessReport;
gv.PageIndex = e.NewPageIndex;
gv.DataBind();
}
protected void btnExport_Page_Click(object sender, EventArgs e)
{
ExportOnlyOnePage();
}
Screenshot