.net中从GridView中导出数据到excel(详细)
1,创建数据源 找到要导出的GridView中的数据。
2,重写VerifyRenderingInServerForm方法。
public override void VerifyRenderingInServerForm(Control control)
{
}
3,编写导到Excel的方法。
private void ExportGridView()
{
/**
* 如果打印全部数据,则加上注视的代码
* */
//GVExport.AllowPaging = false;
//GVExport.AllowSorting = false;
//GVExport.DataSource = null;
//GVExport.DataBind();
DateTime dt = DateTime.Now;
Response.ClearContent();
Response.Buffer = true;
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
string filename = "XX_" + dt.ToString("yyyyMMddHHmm") + ".xls";
string[] browsers = { "Firefox", "AppleMAC-Safari", "Opera" }; //针对FF、Safari、Opera 设置编码
string browser = Request.Browser.Browser;
string attachment = string.Empty;
if (Array.IndexOf<string>(browsers, browser) != -1)
{
attachment = "attachment; filename=" + filename;
}
else
{
attachment = "attachment; filename=" + Server.UrlEncode(filename);
}
Response.AddHeader("content-disposition", attachment);
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GVExport.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。