当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Asp.Net输出数据到EXCEL表格中

ASP.NET
Visual Basic .NET处理Excel表格全接触
ASP.NET缓存方法分析和实践示例
.NET Framework 新功能和增强的功能
ASP.NET MVC :MVC页面验证与授权
URL的传递字符串问题小研究
.NET程序员新方向 Ruby核心语法入门
Asp.net教程:设计IP地址屏蔽功能
asp.net中的观察者模式
ASP.NET网站程序防SQL注入式攻击方法
ASp.Net自定义验证码控件
ASP.Net开发新手常见问题备忘录
.net解决数据导出excel时的格式问题
让.Net 应用程序突破2G的内存访问限制
asp.net 获取客户端IP与mac
用ASP.NET创建网络相册 保存美好时光
创建基于ASP.NET的SMTP邮件系统
在ASP.Net 中实现将图片存入数据库
经典ASP.NET打印技术
详细解读.NET中的代码动态编译
如何在VC中实现淡入淡出的启动画面

ASP.NET 中的 Asp.Net输出数据到EXCEL表格中


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 258 ::
收藏到网摘: n/a

其实,利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档很容易的。主要分为三步来完成。

一、定义文档类型、字符编码

 

Response.Clear();
 Response.Buffer= true;

 Response.Charset="utf-8";

 //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开

 //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc  .xls  .txt .htm

 Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");

 Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");

//Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word  application/ms-txt  application/ms-html 或其他浏览器可直接支持文档 

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

 this.EnableViewState = false;

二、定义一个输入流

 System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
 System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

三、将目标数据绑定到输入流输出

 this.RenderControl(oHtmlTextWriter);
 //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件
 Response.Write(oStringWriter.ToString());

 Response.End();

四、 这时如果发生"只能在执行 Render() 的过程中调用 RegisterForEventValidation"的错误提示。

有两种方法可以解决:
1.修改web.config(不推荐)<pages enableEventValidation ="false" ></pages>
2.直接在导出Execl的页面修改 

 总结:本例程在Microsoft Visual Studio .NET 2003平台下测试通过,适用于C#和VB,当采用VB的时候将 this 关键字改成 me 。