导出到Excel – 在Windows Server 2008 IIS7上的问题

我试图导出到excel中的repeter / Gridview, this is working fine in my local machine and windows server 2003, however when I deployed on Windows server 2008 its not working properly 。 这是我的代码

  StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); string attachment = "attachment; filename=myReport.xls"; Response.ClearContent(); Response.AddHeader("content-disposition", attachment); Response.ContentType = "application/vnd.ms-excel"; rpt.RenderControl(htw); Response.Write(sw.ToString()); Response.Flush(); Response.End(); 

服务器详细信息: Windows Server 2008和IIS7

在Mozilla中,所有的页面内容都导出为ex​​cel,但是在IE&Chrome中,空的excel文件没有数据导出。

你正在写一个string到响应。 我期望这个文件types是二进制的,因此你应该使用Response.BinaryWrite()。 实际来自rpt.RenderControl(htw)的是什么? 我怀疑,你应该改变你的内容types为文本/ CSV,哪些Excel仍然会处理。