Excel 2003 XML 格式不会在 Excel 2010 x64 中自动打开
Posted
技术标签:
【中文标题】Excel 2003 XML 格式不会在 Excel 2010 x64 中自动打开【英文标题】:Excel 2003 XML format not automatically opening in Excel 2010 x64 【发布时间】:2012-04-07 04:53:27 【问题描述】:我有一个生成 Excel 文件的 vbscript,采用旧式 Excel XML 电子表格 2003 格式。它包含必要的处理说明(即<?mso-application progid="Excel.Sheet"?>
标签),我的用户可以通过双击附件在 Office 2003 和 Office 2007(在 XP 上运行)中打开它们。
我们现在正在测试带有 Office 2010 x64 的 Windows 7 x64 桌面版本,这不再有效。这些文件只是在 IE 中打开并显示底层 XML。如果文件保存到桌面,它仍然会在图标上显示 Excel 标志,但仍会在 IE 中打开。
这是 64 位问题还是 Excel 2010 问题?有解决办法吗?我在想持久性处理程序可能在注册表中丢失或注册错误,但我不知道要添加什么...
【问题讨论】:
【参考方案1】:一些想法:
也许您还需要指定 Content Header 标记?此 php 代码为我在 Excel 2016 中创建并打开一个 XML 文件:
<?php
header('Response.ContentType = "application/vnd.ms-excel"');
header('Content-Disposition: attachement; filename="xlxml.xml"');
echo '<root><name>sample_name</name></root>';
exit();
?>
This VBS demonstration 为我生成了一个在 Excel 2016 中正确打开的 Excel 文件。
其他一些相关见解的链接:
Generating Excel (XML Spreadsheet) & Excel header functions
Content-type for MS Office XML
XML Schema Guidelines
Content Disposition
【讨论】:
以上是关于Excel 2003 XML 格式不会在 Excel 2010 x64 中自动打开的主要内容,如果未能解决你的问题,请参考以下文章
SSIS Excel 连接管理器:文件只能在选择了错误的 Excel 版本时才能读取