软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络编程 > ASP教程 > 用Aspose.Words for .NET动态生成word文档中的数据表格

用Aspose.Words for .NET动态生成word文档中的数据表格

1、概述

最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的。看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧。但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高。最麻烦的需求是后面那个----动态的表格列头!下面就介绍如何使用 Aspose.Words for .NET来动态的生成word文档中的数据表格。

2、正文

Aspose.Words, 是Aspose“家族类库”之一。除这个以外,还有其他许多厉害的类库例如Aspose.pdf(操作PDF文件的类库)、Aspose.Flash(操作 Flash文件的类库)、Aspose.report(操作报表的类库)等等,大家有兴趣的可以上官方网研究下。这些类库都包含两种语言,一种是java ,另一种是.NET.这里主要是介绍Aspose.Words for .NET。Aspose.Words for .NET功能非常强大,您不需要安装office组件,都可以用这个来生成word文档。Aspose.Words支持 DOC,DOCX,OOXML,RTF格式,HTML格式,OpenDocument格式,PDF格式,和其他格式 。从下面图中,大家可以更加详细的了解Aspose.Words的架构。有一点忘了提,这套类库是收费的,在本文后面我会提供一个破解版的下载地址给大家的。

在介绍如何动态的生成的表格之前,我们看看这个类库是如何根据模板来生成值的:

首先,我们来建立一个 word模板:template.doc 。在文档中需要生成的数据地方建立一个书签,如图:

在这里大家可以看到,我们主要是通过BookMark来操作,做为动态的数据的源。

下面我们来看看具体是怎么实现的:

string tmppath = Server.MapPath("~/template.doc");
Document doc = new Document(tmppath); //载入模板
if (doc.Range.Bookmarks["name"] != null)
{
Bookmark mark = doc.Range.Bookmarks["name"];
mark.Text = "张三公司";
}
doc.Save("demo.doc", SaveFormat.Doc, SaveType.OpenInWord, Response); //保存为doc,并打开

相关阅读
网友评论