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文档格式

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

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

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

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

Office Open XML 格式的术语表

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

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

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

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

器,

向前兼容性

部件

关系

安全性

文档格式和应用程序

格式描述信息

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

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

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

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

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

打印信息

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

XML参考架构

XML 参考架构

格式固定

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

文档格式

自定义架构

基本数据

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

商业信息

Office Open XML 文件格式的目标

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

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

降低操作难度

通过编程进行交互

最新技术的处理方式

能够提供综合的解决方案

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

应用范围广泛

开发人员眼中的Open XML 文件

ZIP文件

文档部分

– XML 部分

二进制部分

关系

部分之间的关系

折叠结构仅仅是为了方便

理解OPC packagesParts relation的集合。

Demo  源码下载:Hello World!

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