首页 新闻 会员 周边 捐助

.net导出excel文件并下载

0
[已解决问题] 解决于 2014-03-04 11:02

 public void ExportByWeb(DataTable dataSource, string strHeaderText, string strFileName)
        {
            HttpContext curContext = HttpContext.Current;

            // 设置编码和附件格式
            curContext.Response.ContentType = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = Encoding.UTF8;
            curContext.Response.Charset = "GB2312";
            curContext.Response.AppendHeader("Content-Disposition",
                "attachment;filename=" + HttpUtility.UrlEncode(strFileName, Encoding.UTF8));

            curContext.Response.BinaryWrite(NPOIHelper.Export(dataSource, strHeaderText).GetBuffer());
            curContext.Response.End();
        }

&http://q.cnblogs.com/q/32205/   这位网友和我的状况类似,我只要浏览器禁用迅雷插件,下载下来的就是我想要的excel

damon.huang的主页 damon.huang | 菜鸟二级 | 园豆:220
提问于:2013-08-26 13:44
< >
分享
最佳答案
0

试试加上Response.ContentLength

奖励园豆:5
dudu | 高人七级 |园豆:30757 | 2013-08-26 16:26

没这个属性。。

damon.huang | 园豆:220 (菜鸟二级) | 2013-08-26 19:34

@defyhunter: 

不好意思,记错了,应该是:

curContext.Response.AddHeader("Content-Length","文件大小");
dudu | 园豆:30757 (高人七级) | 2013-08-26 20:54

@defyhunter: 

建议试试下面的方法:

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

改为

curContext.Response.ContentType = "application/octet-stream";

我感觉这个方法能解决你遇到的问题。

dudu | 园豆:30757 (高人七级) | 2013-08-26 20:56

@dudu: 结果还是不行额。。

damon.huang | 园豆:220 (菜鸟二级) | 2013-08-27 09:11

@defyhunter: 如果实在不行,只能禁用迅雷插件了

dudu | 园豆:30757 (高人七级) | 2013-08-27 10:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册