MVC3返回文件操作导致间歇性Excel程序错误

问题描述

| 我有一个与此问题密切相关的问题Microsoft Excel错误:“将命令发送到程序时出现问题。”从而打开Excel会显示“ 0”错误。 但是,我使用的是MVC3,而不是现有的文件,正在打开或被快捷方式打开的文件,该操作会生成一堆数据,生成一个excel文件(使用NPOI),将其写入MemoryStream,然后将其插入浏览器使用内置的“ 1” ActionResult,与此类似(但在此处进行了缩短以提高可读性):
return File(myMemoryStream,\"application/vnd.ms-excel\",\"filename.xls\");
首次单击该链接会触发此操作并返回此文件-它带有错误。如果您按确定,然后再试一次,它将起作用,并且将继续起作用...永远 现在,我知道这可能与禁用DDE /插件或Excel中的某些功能有关-但由于我正在生成excel工作簿并将其转储到内存流中,而不是打开文件系统中永久存在的内容,我不确定必须删除哪些选项。 关于如何解决它的任何建议?也许我输入了错误的mime类型?     

解决方法

        Content-Type application / vnd.ms-excel将命令发送到浏览器以在浏览器中打开文件。这可能是问题的原因。尝试将内容类型设置为application / x-msexcel。 在您的示例中,浏览器将尝试在浏览器中打开Excel电子表格(如果用户已安装Excel)。
return File(myMemoryStream,\"application/vnd.ms-excel\",\"filename.xls\")
  请进行以下更改
return File(myMemoryStream,\"application/x-ms-excel\",\"filename.xls\")
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...