看了一节有关Open XML的视频,对open xml有了一个大致的了解,和代码无关;做了一些笔记,如下。
Office中xml的发展
版本 | 对xml的支持 |
office 97 | binary file format |
office 2000 | 开始采用xml文档的属性 |
office XP | first xml formats Spreadsheet XML |
office 2003 | WordProcessingML,SpreadsheetML,可定义的schema |
office 2007 | 全新基于xml格式的open xml,成为一个平台 |
office 2010 | 更加符合规范,符合ISO标准,添加了新的特性 |
具体的文件格式规范可以参考MSDN相关说明:http://msdn.microsoft.com/en-us/library/cc313105.aspx
新格式的好处
- 采用了zip压缩方式,文件体积大大缩小(我就非常喜欢这点)。可以将2007格式文件后缀名改为zip,解压观察。
- 原来文件格式是二进制,文件即使损坏了一点点也很难修复;而采用了新的文件结构,是一种结构化架构,可以最大程度的恢复损坏的文件。
- 有很多人会关心带宏文档的安全性:对于不包含宏代码(macro free)的文件扩展名以x结尾,对包含宏扩展(macro enabled)的文件扩展名以m结尾。
开发人员中的Open XML组件
- package - zip压缩包
- part - zip压缩包中的子文件
- content type- 每个part都有一个对应的类型
- relationships- 每个part之间都会有关联关系
可以去参考一下OpenXmlDeveloper.org,另外Open XML SDK是给开发人员一个对System.IO.Packaging的封装,当然也可以通过.Net Framework 3.0中的System.IO.Packaging来处理Open XML。同时也可以使用System.XML的功能。(到现在,我.net还基本没学过啥呢)
xml的作用不可谓不大,对xml的了解了,open xml也就不再话下了。