aspose.word使用简单方法
概念介绍
使用aspose生成word报表步骤:
- 加载word模板
- 提供数据源
- 填充
加载模板
提供了4种重载方法
- public Document();
- public Document(Stream stream);
- public Document(string fileName);
- public Document(Stream stream, LoadOptions loadOptions);
- public Document(string fileName, LoadOptions loadOptions);
模板制作
aspose在word模板中使用了域(MergeField),一个域相当于一个占位符。域,可以从菜单 插入->文档部件中定位选择。
数据填充
目前有两种情况:基本信息和列表。
基本信息:基本属性,列表对应循环的数据结构,如DataTable.
对于列表,使用DataTable进行填充。
模板的制作:
表格以关键字TableStart开头,TableEnd结束。关键字后加DataTable表名称。e.g.TableStart:tableName
表头中间,是具体字段的名称。
序号 | 姓名 | 性别 | 年龄 |
<TableStart:Name><<Index>> | <<Name>> | <<Sex>> | <<Age>><<TableEnd:Name>> |
- Document doc = new Document(Server.MapPath("~\\templet") + "\\" + name);
- doc.MailMerge.ExecuteWithRegions(DataTable)
具体字段
有两种方式可以实现:
方法一、
- DocumentBuilder builder = new DocumentBuilder(doc);
- builder.MoveToMergeField(MergeFiled Name);
- builder.Write(value;
这种方式,一次填充一个数据。但一个域字段可以多次使用,并可以一次填充。
优点,可以灵活定制。如果要想一次替换多个域字段,稍加改动同样可以实现。
- DocumentBuilder builder = new DocumentBuilder(doc);
- while(builder.MoveToMergeField(MergeFiled Name))
- {
- builder.Write(value;
- }
方法二、
- doc.MailMerge.Execute(fieldNames, fieldValues);
在具体开发过程中,通常选择Entity作为数据源。可通过反射获取数据。
如何获取域字段
- doc.MailMerge.GetFieldNames()
方法返回的书string[]
aspose.word使用简单方法的更多相关文章
- aspose.word 使用简单方法
aspose.word使用简单方法 概念介绍 使用aspose生成word报表步骤: 加载word模板 提供数据源 填充 加载模板 提供了4种重载方法 1 2 3 4 5 public Documen ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- Aspose Word模板使用总结
Aspose Word模板使用总结 1.创建word模版,使用MergeFeild绑定数据 新建一个Word文档,命名为Template.doc 注意:这里并不是输入"< ...
- 利用Aspose.Word控件实现Word文档的操作
Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
- 黄聪:利用Aspose.Word控件实现Word文档的操作(转)
撰写人:伍华聪 http://www.iqidi.com Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...
- Aspose.Word邮件合并之自定义数据源
Aspose.Word在进行邮件合并时,默认的几个重载方法对Database支持比较友好,但是也可以通过自定义数据源来实现从集合或者对象中返回数据进行邮件合并. 自定义数据源主要是通过实现IMailM ...
- 通过Aspose.Word和ZXING生成复杂的WORD表格
1.前言 这是我之前做的一个项目中要求的功能模块,它的需求是生成一个WORD文档,需要每页一个表格并且表格中需要插入文字.条形码和二维码等信息,页数可控制.具体的效果如下图所示: 可以看到有以下几点是 ...
- Aspose.Word 的常见使用(2018-12-26 更新版)
Aspose.Word 的常见使用 起因 因项目需要,而且使用html转Word的时候,样式不兼容问题,于是只能使用Aspose.Word通过代码生成.下面是通过DocumentBuilder来设计W ...
- Xcode7使用插件的简单方法&&以及怎样下载到更早版本的Xcode
Xcode7自2015年9上架以来也有段时间了, 使用Xcode7以及Xcode7.1\Xcode7.2的小伙伴会发现像VVDocumenter-Xcode\KSImageNamed-Xcode\HO ...
随机推荐
- HDU 1548 A strange lift (Dijkstra)
A strange lift http://acm.hdu.edu.cn/showproblem.php?pid=1548 Problem Description There is a strange ...
- Android Drawable体系
- ios开发与安卓开源项目及库
自己总结的iOS.mac开源项目及库 https://github.com/Tim9Liu9/TimLiu-iOS 自己总结的Android开源项目及库 https://github.com/Tim9 ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-04Service层
1. package com.sanqing.service; import com.sanqing.dao.DAO; import com.sanqing.po.Customer; /** * 客户 ...
- sublime3运行lua
{ "cmd": ["/usr/local/bin/lua", "$file"], "file_regex": &quo ...
- 推荐一个百度网盘搜索工具www.sososo.me
推荐一个百度网盘搜索工具 http://www.sososo.me
- [POJ1050]To the Max(最大子矩阵,DP)
题目链接:http://poj.org/problem?id=1050 发现这个题没有写过题解,现在补上吧,思路挺经典的. 思路就是枚举所有的连续的连续的行,比如1 2 3 4 12 23 34 45 ...
- Ubuntu12.04安装YouCompleteMe插件
以前用的都是ctags+omnicomplete+acp的方式,这次换成clang自解析的方式尝试一把. 自从知道了Vundle,妈妈再也不用担心我麻烦地下插件了 0. 安装必要组件 sudo apt ...
- Linux同步机制 - 基本概念(死锁,活锁,饿死,优先级反转,护航现象)
死锁(deadlock) 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进 ...
- delete-node-in-a-bst
https://leetcode.com/problems/delete-node-in-a-bst/ /** * Definition for a binary tree node. * struc ...