C# – 下载Excel 2010的错误

我已经将使用SOAP工具箱(不再支持)的Excel 2003电子表格转换为使用VSTO对Excel 2010进行Web服务调用。

电子表格工作的很好,做它应该(大部分),现在我想让它从网站提供给用户。

我原以为它应该是提供2003年的版本,这仍然是可用的,所以我基本上复制了Excel 2003电子表格的下载button,它应该工作。

当我为2010年的电子表格尝试这个,我得到一个Excel错误说明

“Excel在”SpreadSheet_name.xlsx“中发现了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”是“。

然后Excel修复问题,电子表格可以正常使用。

当我从下载完成的源文件夹中打开电子表格时,打开时没有任何错误,就像上面的错误被修复并保存了文件一样。

这是用于当前Excel 2003下载button的代码 –

Response.WriteFileAsAttachment("application/ms-excel", Server.MapPath("~/pathname/Spreadsheet_2003.xls"), 8192); Response.End(); 

这是我2010年的下载button点击是什么与以上更新的Excel 2010的MIME信息 –

 Response.WriteFileAsAttachment("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", Server.MapPath("~/pathname/Spreadsheet_2010.xls"), 8192); Response.End(); 

我已经尝试了几个在各种论坛上提出的build议,都有相同的结果。

我正在使用C#和ASP.Net运行通过VS 2010来testing这个,所以有人build议在VS有限的IIS可能是一个问题?

任何帮助或build议将不胜感激。

谢谢,乔治

我们使用的远程访问通信有一个问题,导致下载时出现这个问题。 这不是公司会解决的问题,所以我们必须和它一起生活并解决它。 🙁