通过MegerField来循环,将数据保存到dataset的table中,dataset通过关联datarelation字段来指定主从表关系。模板中通过标签TableStart和TableEnd来框定table的作用范围,主从表可以多层嵌套。

aspose.words下载

1>画模板,用wps或微软的office画出下图表格,其中带《》的文本是域。嵌套循环用TableStart和TableEnd来界定作用范围。

1.1>wfs添加域,插入>>文档部件>>域>>邮件合并,见图一

1.2> office添加域,插入>>文档部件>>域>>MergeField,见图二

图一

图二

2>代码部分

        string templateFile = Server.MapPath("score_tmplt.doc");string savePath = Server.MapPath("score.doc");//用户表(主表)DataTable userTable = new DataTable("UserList");userTable.Columns.Add(new DataColumn("Id", typeof(int)));userTable.Columns.Add("UserName");userTable.Columns.Add("Gender");userTable.Columns.Add("BirthDay");userTable.Columns.Add("Address");userTable.Rows.Add(1, "菜鸟程序员1", "男", "83年", "武汉");userTable.Rows.Add(2, "菜鸟程序员2", "男", "88年", "武汉");//分数表(从表)DataTable userScoreTable = new DataTable("ScoreList");userScoreTable.Columns.Add(new DataColumn("UserId", typeof(int)));userScoreTable.Columns.Add(new DataColumn("Id", typeof(int)));userScoreTable.Columns.Add("Name");userScoreTable.Columns.Add("Score");userScoreTable.Rows.Add(1, 1, "文科", "100");userScoreTable.Rows.Add(1, 2, "理科", "100");userScoreTable.Rows.Add(2, 3, "文科", "100"); //载入模板var doc = new Document(templateFile);//提供数据源DataSet dataSet = new DataSet();dataSet.Tables.Add(userTable);dataSet.Tables.Add(userScoreTable);         //建立主从报表的关联dataSet.Relations.Add(new DataRelation("ScoreListForUser", userTable.Columns["Id"], userScoreTable.Columns["UserId"])); //合并模版,相当于页面的渲染doc.MailMerge.ExecuteWithRegions(dataSet);doc.Save(savePath);

Aspose.Words五 MergeField相关推荐

  1. Aspose.Words for .NET使用教程(五):文档格式功能及邮件合并功能

    Aspose.Words无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求.本文将以表格的形式与大家分享Aspose.Words for .NET的文档格式功能.邮件合并功 ...

  2. aspose.words 表格内容水平居中_CSS十五种方法教你如何居中一个元素

    本文主要介绍水平居中,垂直居中,还有水平垂直居中各种办法,集齐各种常用的居中方法,以备平时工作使用查阅,也欢迎大家更新或者提供建议 水平居中 1.行内元素水平居中 利用 text-align: cen ...

  3. Word处理控件Aspose.Words功能演示:使用 Java 在 MS Word 文档中进行邮件合并

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  4. c语言逐步搜索法求有根区间,[C语言第五章.ppt

    [C语言第五章 算法举例 基本思想是,根据提出的问题,列举所有可能的情况,并 用问题中给定的条件检验哪些是需要的,哪些是不需要的. 教学进程 列举与试探 列举法常用于解决"是否存在" ...

  5. Aspose.Words导出图片 表格 Interop.Word

    先定义一个WORD 模板, 然后替换文本.域 ,定位开始表格 文本和段落 // Specify font formattingAspose.Words.Font font = builder.Font ...

  6. java实现word邮件合并,Aspose.Words控件操作实例—邮件合并功能概述

    本文中会介绍Aspose.Words的邮件合并的功能,邮件合并是时常需要使用的功能,比如在学校教务系统中,需要将学生证数据信息导出成Word文文件,如果以系统已写好的格式输出,会缺乏灵活性,但若使用A ...

  7. java aspose 导出word_使用aspose.word 第三方的插件实现导出word

    #region 生成的excel文件命名和确保文件的唯一性 Random rd = new Random(); DateTime dtime = DateTime.Now; string Filena ...

  8. Aspose填充word数据

    本文介绍了如何使用aspose进行word文档的生成,并提供了工具类供参考.可以在word中填充数据,生成word和pdf文档. 文章目录 建立一个word模板 应用实例 引入JAR包 导入工具类 开 ...

  9. Aspose.Words利用Word模板导出Word文档

    今天工作中遇到了导出Word文档的问题,但是在搜索Aspose.Words 导出Word文档时发现网上的方法都是有头没尾的,有的只有一小段实例,让人看着摸不着头脑. 利用Aspose.Words导出W ...

  10. aspose实现word,excel在线预览

    aspose实现word,excel在线预览 一,项目中引入aspose依赖 <dependency><groupId>com.aspose</groupId>&l ...

最新文章

  1. 错误 1 “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制...
  2. Kinect 骨骼追踪数据的处理方法
  3. 前端基于浏览器存储的AJAX性能优化
  4. 实战tcpdump看RST
  5. springboot设置欢迎页
  6. CRC16循环冗余校验 RTU-MODBUS标准 Linux C
  7. 语义分割——Spatial Pyramid Pooling (SPP)的作用
  8. 一个堆排我竟弄了 4 个动画
  9. phpstudy环境下安装部署moodle平台
  10. 信息化知识-1.1信息化知识
  11. 计算机表格函数最大值操作,使用MAX最大值函数计算excel表格中学生成绩的最大值...
  12. 视频:这不是科幻,厉害了,用人工智能修长城
  13. unnormal C++
  14. 90后薪资5年翻10倍,靠的不是钢琴手,而是真家伙!
  15. android+添加网络权限,已在AndroidManifest.xml增添网络权限,运行还报错
  16. 自动驾驶仿真工具之AirSim简介
  17. 解决办法:Call stored procedure using ExecuteSqlCommand (expects parameters which was not supplied)
  18. 配置Microsoft SQL Server安装,win7,win10
  19. Android 按照字母排序汉字,可用于通讯录
  20. XSS测试平台搭建(超详细)

热门文章

  1. 人工智能——文本分类(大作业必备)
  2. 当供应链金融遇到区块链会擦出怎样的火花?
  3. poco mysql 库_poco网络库
  4. ubantu apt命令失败
  5. C语言——打鱼晒网问题
  6. dex文件格式------header_item解析
  7. 什么是SaaS模式 - SaaS模式的视频会议系统
  8. 搞笑很好玩的14个缎子
  9. java投屏 dlna 安卓_DLNA投屏
  10. pgm概率图模型_概率图形模型(PGM)算法| 机器学习