将ASP.NET页面内的数据导出到Excel 或 Word中
2006-07-10 11:33
791 查看
在以下按钮单击事件中实现:
private void btnMIME_Click(object sender, System.EventArgs e)
{
dgShow.AllowPaging = false;
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();
dgShow.AllowPaging = true;
BindData();
}
注:1.若DataGrid中有按钮列,则在导出前应先将其隐藏.
2.若DataGrid有分页,而又要打印所有数据的话就应先取消分页.
2006年7月19日-补充:
若为VS.NET2005中的数据绑定新控件GridView,以上代码会提示异常错误,经网上搜索,解决方案如下:
1、在导出界面中重载
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
2、在web.config中修改<pages enableEventValidation ="false" ></pages>
或
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"
CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView" %>
private void btnMIME_Click(object sender, System.EventArgs e)
{
dgShow.AllowPaging = false;
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();
dgShow.AllowPaging = true;
BindData();
}
注:1.若DataGrid中有按钮列,则在导出前应先将其隐藏.
2.若DataGrid有分页,而又要打印所有数据的话就应先取消分页.
2006年7月19日-补充:
若为VS.NET2005中的数据绑定新控件GridView,以上代码会提示异常错误,经网上搜索,解决方案如下:
1、在导出界面中重载
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
2、在web.config中修改<pages enableEventValidation ="false" ></pages>
或
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"
CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView" %>
相关文章推荐
- 将ASP.NET页面内的数据导出到Excel或Word中
- 将ASP.NET页面内的数据导出到Excel 或 Word中 (转)
- 将ASP.NET页面内的数据导出到Excel或Word中
- 将ASP.NET页面内地数据导出到Excel 或 Word里面
- 将ASP.NET页面内的数据导出到Excel 或 Word中
- 将ASP.NET页面内的数据导出到Excel 或 Word中
- asp.net中Word/Excel的导出数据制作(懒人发掘)
- asp.net实现导出DataTable数据到Word或者Excel的方法
- ASP.NET(C#)将数据导出到Word或Excel
- asp 页面数据导出为word或者excel
- asp.net_GridView导出数据到Excel/Word
- 在ASP.NET中将GridView数据导出到Word、Excel
- asp.net 生成导出word表单 ,导出excel; dataTable生成xls文件,返回前台下载;asp.net启动excel错误 80070005;excel-xls columnName 不能改变; 读写excel的开源利器NPOI; 设置excel Cell的数据类型;
- 黑马程序员之ASP.NET学习笔记:将数据导出到Word或Excel
- ASP.NET AJAX Advance Tips & Tricks (10) 解决使用AJAX Extender时的页面导出(Word/Excel)问题(Extender control 'XXX' is not a registered extender control)
- ASP.NET AJAX Advance Tips & Tricks (10) 解决使用AJAX Extender时的页面导出(Word/Excel)问题(Extender control 'XXX'
- asp.net从数据库导出数据到word、excel、txt文本文件
- asp.net中将DataGrid数据导出到excel或word文件中
- asp.net页面指定控件导出为Word 或excel 文档
- asp.net从数据库导出数据到word、excel、txt文本文件