默认情况下,在Excel中打开电子表格xml

its*_*lur 10 xml excel spreadsheet

在Web应用程序中,我使用从Excel 2010创建的XSL模板生成电子表格XML.我希望此电子表格XML默认在Excel中打开.因此,我将以下属性添加到响应中

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "Attachment;Filename=export.xls");
Response.Charset = "";
Run Code Online (Sandbox Code Playgroud)

这将在Excel中打开文件,但由于Excel 2010的扩展强化功能,显示提示 -

您尝试打开的文件'export [1] .xls'的格式与文件扩展名指定的格式不同.在打开文件之前,请验证文件是否已损坏且是否来自受信任的源.你想现在打开文件吗?

如果我点击是,它打开正常.但是,有没有办法可以完全跳过提示?我已阅读有关注册表更改以禁用用户计算机中的提示.但是,这是一个公共网站,该解决方案将无法运作.

我可以将附件文件名设置为export.xml.如果我保存并在Excel中打开,则没有提示.但默认情况下,XML不会在Excel中打开.

任何想法,在Excel中打开电子表格xml,没有提示?

its*_*lur 7

这个博客帮助我解决了我的问题.

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>
Run Code Online (Sandbox Code Playgroud)

通过执行此操作,您可以将文件扩展名指定为.xml,但默认情况下它将在Excel中打开.