无法在IE 8中导出到Excel

时间:2012-07-06 12:50:42

标签: c# .net internet-explorer-8 export-to-excel

我无法在IE 8中导出到Excel。我不断获得以下内容: “IE无法从url下载filename.aspx。” “IE无法打开这个网站。他要求网站不可用或无法找到。pelse再试一次”

在我看来,它喜欢它的https,并试图打开http,但我可能是错的。 根据这篇文章:http://support.microsoft.com/kb/323308

我的代码是:

 StringWriter sw = new StringWriter();
                HtmlTextWriter htw = new HtmlTextWriter(sw);
                gvResources.RenderControl(htw);

                Response.ClearContent();
Response.ClearHeaders()
                Response.AddHeader("Content-Disposition", "attachment; filename=AdHocReport.xls");
                Response.ContentType = "application/vnd.ms-excel";
                Response.Write(sw.ToString());
                Response.End();

4 个答案:

答案 0 :(得分:2)

我找到了一个建议您需要禁用缓存控制标头的链接。

试一试:

 Response.Cache.SetCacheability(HttpCacheability.NoCache);

来源:Random Forum Conversation | Another Possible Lead

另外:SetCacheability

......我希望能够发现一些更深刻的理解,但这就是我发现的全部。

答案 1 :(得分:0)

尝试删除内容处置中的空格,同时尝试在文件名周围添加引号:

 Response.AddHeader("Content-Disposition", "attachment;filename=\"AdHocReport.xls\"");

是否有理由使用带有write的字符串编写器而不是带有binarywrite的流?

答案 2 :(得分:0)

问题在于IIS应用程序池。解决。

答案 3 :(得分:0)

我刚才能解决这个问题。我在response.clear() ...

之后添加了以下几行
    Response.ClearHeaders()
    Response.AddHeader("Cache-Control", "no-store, no-cache ")