C# 导出到excel-Windows Server 2008 IIS7上的问题

C# 导出到excel-Windows Server 2008 IIS7上的问题,c#,asp.net,excel,windows-server-2008,export,C#,Asp.net,Excel,Windows Server 2008,Export,我正在尝试导出到excel中的repeter/Gridview,这在我的本地计算机和windows server 2003中运行良好,但是当我在windows server 2008上部署时,它无法正常运行。这是我的密码 StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); string attachment = "attachment; filename=my

我正在尝试导出到excel中的repeter/Gridview,
这在我的本地计算机和windows server 2003中运行良好,但是当我在windows server 2008上部署时,它无法正常运行
。这是我的密码

    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中,所有页面内容都会导出到excel,但在IE&Chrome中,空excel文件会被导出而没有数据。

您正在向响应中写入字符串。我希望此文件类型是二进制的,因此您应该使用Response.BinaryWrite()。从rpt.RenderControl(htw)中实际得到了什么?我想,您应该将内容类型更改为text/csv,excel仍将处理该类型。

您的意思是我必须添加sw.Flush()而不是Response.Flush()?是的,在将其写入响应之前,请尝试使用sw.Flush。幸运的是,我的文件中没有写入任何内容,无论文件格式是word、excel还是文本,您可以在windows server 2008上尝试一下这个功能,并测试它是否正常工作吗?