如何在不安装Word的情况下生成Word文档 ——转【陈希章】

来源:互联网 发布:扫码签到软件 编辑:程序博客网 时间:2024/05/01 22:25

原文地址:http://www.cnblogs.com/chenxizhang/archive/2010/04/21/1717342.html

本文由作者:陈希章 于 2009/7/28 9:55:30 发布在:http://www.cnblogs.com/chenxizhang/

 

我们的需求是这样的

1. 有如下这样一份Word文档的模板

 

2. 我们需要在服务器端动态生成这样的文件,每次需要换的内容是标题、描述、时间。而且应该把员工列表读出来,填充在下面的表格中

 

 

我们的解决方案是:

1. 在服务端安装Word,然后通过使用word的com模型,诸如word.application, word.document等对象去操作和生成文档。

这种方式的问题就是服务器必须安装Word,这可能在很多客户那边是没有办法去做到的。

 

2. 通过xml的方式生成word文档。这就是本篇日志主要讲的东西。

 

首先,我们将word文档全部做好,包括格式设置。如上图所示。

接下来,我们将该文档保存为XML格式

 

这个文档是怎么样的呢?

 

看起来有点乱,对吧?没关系,我们将有关的架构稍微理一下就明白了

将该文件在IE中打开。注意首先将下面这句话删除掉

 

 

为了后面能够快速地对该文档进行修改和扩展,我们给之前写好文字的XML元素处添加几个tag。

 

 

我们添加了几个tag

tag=”Title” 表示标题

tag=”Description” 表示描述

tag=”Time” 表示时间

tag=”Table”表示表格的行

tag=”FirstName” 表示姓

tag=”LastName” 表示名

tag=”Country” 表示国家

tag=”Region” 表示地区

tag=”City” 表示城市

然后,我们还需要记下来一个命名空间

xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"

 

好了,有了这些素材,我们就可以在网站中修改该文件了

 

我们用一个单独的ashx来负责生成该文件

 

 

接下来在页面中,我们的代码就是

 

 

最后运行的效果如下

 

 

 

 

 

 

原创粉丝点击