将ASP.NET页面内的数据导出到Excel 或 Word中

将ASP.NET页面内的数据导出到Excel 或 Word中

在以下按钮单击事件中实现:

private void btnMIME_Click(object sender, System.EventArgs e)

{

BindData();

Response.ContentType = "application/vnd.ms-excel";

Response.AddHeader("Content-Disposition", "inline;filename="

+ HttpUtility.UrlEncode("下载文件.xls",Encoding.UTF8 ) );

//如果输出为Word,修改为以下代码

//Response.ContentType = "application/ms-word"

//Response.AddHeader("Content-Disposition", "inline;filename=test.doc")

StringBuilder sb=new StringBuilder();

System.IO.StringWriter sw = new System.IO.StringWriter(sb);

System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);

sb.Append("<html><body>");

dgShow.RenderControl(hw);

sb.Append("</body></html>");

Response.Write(sb.ToString());

Response.End();

}

注:1.若DataGrid中有按钮列,则在导出前应先将其隐藏.

2.若DataGrid有分页,而又要打印所有数据的话就应先取消分页.