Office Open XML系列-Office Open XML初体验

工欲善其事必先利其器,我们首先准备下开发Office Open XML的环境吧
 Microsoft Office 2007
 VS2005
 Package Explorer
准备好了吗?我们先来感受下Office 2007带给我们的惊喜吧。
新建一个Word文档hello.docx,我们试着修改文档名称为hello.docx.zip(即增加了后缀.zip),然后使用解压缩软件(winrar)呵呵,此文档的组成就原形毕露了。在word文件夹下的document.xml文件中,我们可以看到<w:t>Hello world!</w:t>,这正是我们在hello.docx中输入的文字。这时你会说这么多文文件构成了一份docx文件,它的体积不是很大?比Word 2003好吗?别着急,我们查看hello.docx文件的体积发现很小,奇怪了?原来Office2007使用XML和ZIP技术的结合,所以这点就不必担心了。显然Office2007采用Open XML的结构,将给Office文档带来质的变化,同时程序员也将拥有一份新的天地。
  在看看Office 2007的安全性吧,如果还为VBA带来的不安定因素而烦恼的话。我们再看hello.docx文件并没有发现宏编程的地方。Fllow me,把hello.docx文件另存为“启用宏的docm”格式的文件,然后启用“开发工具”,现在就可以VBA之旅了。Microsoft的想法可真善解人意哈。
   实践了这么些,我们现在回想下实际应用当中的问题。
问题1:使用公司统一Logo的模板制作的Word文档,当logo发生变化的时候面对上千份文档如何实现呢?
问题2:上级领导对员工的评价,不希望其它人看到,现在面对上千份文档希望删除掉所有文档中的评价信息,如何实现呢?
这些问题在Office 2007中都会得到解决,XML和ZIP技术特点以及行业优势将体现的淋漓尽致。

Microsoft Open XML发展历史

 

Ecma Office Open XML 规范

  

Office Open XML文档格式

l 技术核心:使用XML参考架构和ZIP容器

l 存储方式:文档各个部分分别存储,提高安全性

l 使用开发打包约定,同时也被XPS格式所使用

l 格式主要针对Office Word 2007、Office Excel 2007和Office PowerPoint 2007的完全可编辑文件格式

Office Open XML 格式的术语表

l API 访问软件功能的函数或方法的集合

l 转换器用于在以前的Office 版本中打开使用

l Office XML 格式创建的文件的免费工具

l 包包含组成文档的组件(部件)的ZIP 容

l 器,

l 向前兼容性

l 部件

l 关系

l 安全性

文档格式和应用程序

l 格式描述信息

l 结构化的内容格式使业务处理更加方便

l 可以通过软件去使用和操纵这些内容

l 通过接口使软件可以很方便的访问信息.

l 提供以下功能,生成, 组织,

l 开发, 定位, 测试,协作, 验证, 计算, 文档保护,

l 打印信息

l 格式可以影响软件设计, 反之亦然

XML参考架构

XML 参考架构

l 格式固定

l (粗体, 斜体, 表格, 段落, 格式,…)

l 文档格式

自定义架构

l 基本数据

l (e.g.: 价格, 发票信息)

l 商业信息

Office Open XML 文件格式的目标

l  通用性好,不局限于某一个平台或者开发商

l  新的编程接口使操作更加简单

l 降低操作难度

-通过编程进行交互

-最新技术的处理方式

- 能够提供综合的解决方案

-可以在多个应用软件之间共享数据

- 应用范围广泛

开发人员眼中的Open XML 文件

l ZIP文件

l 文档部分

– XML 部分

– 二进制部分

关系

– 部分之间的关系

l 折叠结构仅仅是为了方便

理解OPC packages是Parts 和relation的集合。

Demo  源码下载:Hello World!

posted @ 2008-08-14 23:40  向阳  阅读(3199)  评论(1)    收藏  举报