网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
..NET反射的简单示例.
.在ASP.Net 2.0中实现多语言界面的.
.在ASP.NET 2.0中使用页面导航控件.
.ASP.NET与数据库相关技巧.
.ASP.NET数据库编程之处理文件访问.
.asp.net如何连接sql server2000数.
.获得connect string简单方法.
.设置上传文件的最大大小.
.全角字符转换为半角.
.ASP.NET2.0中用ICallbackEventHa.
.ASP.NET Atlas April CTP发布.
.在.NET中,将竖表变横表(支持固定.
.Asp.Net2.0中实现多任务异步页的.
.动态修改.Net StreamReader Enco.
..NET精简框架的“无法找到资源程.
.SQL Artisan多表查询和统计.
..net的Membership,为什么就这么.
..Net下几种日志管理方法.
.用JS脚本实现CheckBoxList只能选.
.用GZip压缩和解压.

在系统中生成Excel流并传给用户

发表日期:2006-4-27


在系统中经常出现这样的情况就是生成excel流 并将生成的Excel 流传给用户

一般的来讲

可以利用 Response 来向客户端发送一个HTTP头 ,并将Excel流发送出去就可以

但会出现一个问题

就是点击打开的时候会出现两次 文件下载 对话框

主要的原因:(现在的猜测,还没有找到准确的原因)。

第一次打开 时 ,在系统中已经存在了excel流的临时文件(就是文件,没有文件的后缀名的存在) ,但没有原来的(真实文件的存在),要求用户是否将临时文件保存到计算机其他的位置上。(是否跟没有后缀名有关)

第二次 ,选择客户端文件的位置,是否保存到其他的非临时文件夹位置。

  

 

现在的解决方案是

新建一个页面专门提供导出数据的

 

在这个页面中的Page_load中写这样的代码

 


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

         {

              // 在此处放置用户代码以初始化页面
             ReportRule reportRule=new ReportRule();
              byte[] result=  reportRule.RenderReport(HttpContext.Current.Server.UrlDecode(this.Request.QueryString["peportpath"]),Request.QueryString["id"]);   //生成excel流

 

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

              HttpContext.Current.Response.AppendHeader("Content-disposition","attachment;filename=hahh.xls");

              HttpContext.Current.Response.BinaryWrite(result);

              HttpContext.Current.Response.End();

         }

 

上一篇:page事件顺序(.net2.0) 人气:7477
下一篇:Url Rewriting with Regex for ASP.NET 2.0(在asp.net2.0中使用正规表达式建立URL重写) 人气:8183
浏览全部Response的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐