我想在本地驱动器上创建一个SpreadsheetML文件,可以通过在Windows资源管理器中单击文件在MS Excel或Open Office中打开。
我尝试了到目前为止我可以找到的所有注册到Microsoft Excel的文件扩展名。
其中一些(例如.xls
)允许打开文件,但在"文件格式不同于文件扩展名"警告对话框。某些扩展(如.xlsx
)会导致Excel在不打开文件的情况下显示格式错误对话框。
Wikipedia表示扩展程序应为.xml
,但默认情况下已注册为Web浏览器打开。
This,this和this类似的问题是关于从网上下载文件并设置正确的内容类型。但我无法更改本地文件的内容类型。
This文章解释了这种恼人的扩展加固机制如何工作以及如何禁用它,但我认为强制用户禁用安全功能只是为了允许打开电子表格文件是错误的。
所以没有解决方案,或者我错过了什么?
答案 0 :(得分:3)
现在,Open Office可以打开.xlsx
(和读取)文件,Excel可以打开(和读取).ods
个文件。我的建议是选择一个最适合您的受众和您对特定文件格式的理解。
这两个应用程序在两者之间具有优势和缺点以及不支持的功能。
我建议您查看文件Differences between the OpenDocument Spreadsheet (.ods) format and the Excel (.xlsx) format。
当你使用两种文件格式时,例如.xlsx和.ods 格式化差异,并非所有功能都可用。 您将能够转换数据和内容,但是您可以使用它 根据您使用的格式,内容可能会有所不同。
当您保存.xlsx
文件时,一个问题是使用Open Office,它会将格式更改为.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