在Web应用程序中,我使用从Excel 2010创建的XSL模板生成电子表格XML。我希望此电子表格XML默认在Excel中打开。因此,我将以下属性添加到响应中
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "Attachment;Filename=export.xls");
Response.Charset = "";
这将在Excel中打开文件,但由于Excel 2010的扩展强化功能,显示提示符 -
您要打开的文件, 'export [1] .xls',与众不同 格式比文件指定的格式 延期。验证文件不是 已损坏且来自可靠来源 在打开文件之前。你想要 现在打开文件?
如果我点击是,它会很好地打开。但是,有没有办法可以完全跳过提示?我已阅读有关注册表更改以禁用用户计算机中的提示。但是,这是一个公共网站,该解决方案将无法运作。
我可以将附件文件名设置为export.xml。如果我保存并在Excel中打开,则没有提示。但默认情况下,XML不会在Excel中打开。
任何想法,在没有提示的情况下在Excel中打开电子表格xml?
答案 0 :(得分:6)
此博客帮助我解决了我的问题。
https://ralph.blog.imixs.com/2013/02/16/how-to-generate-a-excel-sheet-with-xslt/
诀窍是在上面的帖子中以上述方式中的XSL模板中添加此处理指令。
<xsl:processing-instruction name="mso-application">
<xsl:text>progid="Excel.Sheet"</xsl:text>
</xsl:processing-instruction>
通过这样做,您可以将文件扩展名指定为.xml,但默认情况下它将在Excel中打开。