Excel 2003 XML格式不会在Excel 2010 x64中自动打开

我有一个VBScript,它以旧式Excel XML Spreadsheet 2003格式生成Excel文件。 它包含必要的处理指令(即<?mso-application progid="Excel.Sheet"?>标签),我的用户可以在Office 2003和Office 2007(XP上运行)中打开它们,方法是双击附件。

我们现在正在使用Office 2010 x64testingWindows 7 x64的桌面版本,这不再有效。 这些文件只是在IE中打开,并显示底层的XML。 如果文件保存到桌面,它仍然在图标上显示Excel徽标,但仍然会在IE中打开。

这是一个64位问题或Excel 2010问题? 有没有修复? 我想在持久化处理程序可能会丢失或错误注册在registry中,但我不知道要添加什么…

一些想法:

也许你还需要指定Content Header标签? 此PHP代码为我创build并在Excel 2016中创build一个XML文件:

 <?php header('Response.ContentType = "application/vnd.ms-excel"'); header('Content-Disposition: attachement; filename="xlxml.xml"'); echo '<root><name>sample_name</name></root>'; exit(); ?> 

这个VBS演示生成了一个Excel文件,在Excel 2016中可以正常打开。

一些其他链接与一些相关的见解:

生成Excel(XML电子表格)和Excel报头function

MS Office XML的内容types

XML模式指南

内容处理