12

我想在本地驱动器上创建一个 SpreadsheetML 文件,可以通过单击 Windows 资源管理器中的文件在 MS Excel 或 Open Office 中打开该文件。

我尝试了到目前为止我能找到的所有注册到 Microsoft Excel 的文件扩展名。其中一些(.xls例如)允许打开文件,但在“文件与文件扩展名指定的格式不同”警告对话框之后。某些扩展名(如.xlsx)会导致 Excel 在不打开文件的情况下显示格式错误对话框。

维基百科告诉扩展名应该是.xml,但它被注册为默认由网络浏览器打开。

This , thisthis类似的问题是关于从网络下载文件和设置正确的内容类型。但我无法更改本地文件的内容类型。

本文解释了这种烦人的扩展强化机制如何工作以及如何禁用它,但我认为强迫用户禁用安全功能只是为了允许打开电子表格文件是错误的。

所以没有解决方案还是我错过了什么?

4

1 回答 1

3

现在 Open Office 可以打开.xlsx(和读取)文件,而 Excel 可以打开(和读取).ods文件。我的建议是选择最适合您的受众和您对特定文件格式的理解的其中一种。

这两个应用程序都具有它们两者之间的优点和缺点以及不支持的功能。

我建议查看文档Differences between the OpenDocument Spreadsheet (.ods) format and the Excel (.xlsx) format

当您使用两种文件格式(如 .xlsx 和 .ods)时,可能存在格式差异,并且并非所有功能都可用。您将能够转换数据和内容,但您处理内容的方式可能会有所不同,具体取决于您使用的格式。

一个问题是使用 Open Office,当您保存.xlsx文件时,它会将格式更改为.ods文件。无论如何,这两个应用程序都会在保存后重新排列文件夹结构。

最大的变化是您创建 SpreadsheetML 文件的方式,Open Office 和 Excel 都有不同的文件夹结构,具体取决于您将使用的文件扩展名。

这是 Excel 文件夹格式的简短示例。

-/
 - _rels/
   - .rels
 - xl/
   - _rels/
     - workbook.xml.rels
   - sheet1.xml
   - workbook.xml
 - [Content_Types].xml

我为此创建了一个示例 GitHub 存储库,其中包含一个可以在 Excel 和 Open Office 中打开的示例。

https://github.com/Nico-StackOverflow/proper-spreadsheetml-file-extension

于 2016-08-18T01:39:30.717 回答