ASP.NET页面上数据导出到Excel
页面上用GridView显示数据
导出按钮Click事件
protected void Btn_DC_Click(object sender, EventArgs e)
{
string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312"; //设置了类型为中文防止乱码的出现 EnableEventValidation ='false'
Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls"); //定义输出文件和文件名
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
//Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
Response.ContentType = "application/vnd.xls";
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
orderGdView.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
另外还得加上
public override void VerifyRenderingInServerForm(Control control)
{
}
否则程序会在这一行 orderGdView.RenderControl(oHtmlTextWriter);
报错 ,至于为什么会报错暂不清楚