(1)设置GridView属性allowpaging=“false”
页面加载时添加
(2)public override void VerifyRenderingInServerForm(Control control)
{
// 方法重写
}
(3)导出excels
protected void btnExcel_Click(object sender, EventArgs e)
{
if (GridView1.Rows.Count > 0)
{
//调用导出方法
bind1();//绑定数据源,由于gridview是分页显示的,绑定数据源的时候不要绑定分页参数
ToExcel(this.GridView1, System.Web.HttpUtility.UrlEncode("test.xls", System.Text.Encoding.UTF8));
}
else
{
// obo.Common.MessageBox.Show(this, "没有数据可导出,请先查询数据!");
}
private void ToExcel(Control ctl, string FileName)
{
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName);
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
(4)导出的excel身份证号会变成科学计数法显示
在RowDataBound事件中添加
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");//以文本形式显示