利用aspose在word中输出表格

序号   姓名   性别
 <<TableStart:T>><<Index>>  <<Name>>    <<Sex>><<TableEnd:T>>

数据源一般是System.Data.DataTable

有两种方式可以实现这个功能。

通过绑定。

在表格中设置域字段。需要注意的是,域的名称应与DataTable中的字段想对应。表的名称应与T一直。

这个和.net数据展现控件一致。比如,gridview,reapeter..

设置好模板与数据源后,只需一句话即可实现数据绑定。

doc.MailMerge.ExecuteWithRegions("T");

优点,代码少。设置好word模板后,提起数据源,进行绑定即可。  

适用于简单正规的表格,复杂表格不适合这种方式。

需要注意:

如果表格外,存在同样一个名称的域字段,那使用下面的方法时会替换全部域字段。也就是说,不会区分该域字段是否独立的,还是包含在表格中的。

builder.MoveToMergeField("n");
builder.Write(value.ToString());

通过代码输出表格

方式一、

核心代码:

builder.InsertCell();/*插入一个单元格*/
builder.CellFormat.VerticalMerge = CellMerge.None;/*设置该单元格的合并性质*/
builder.EndRow();/*结束本行*/

输出单元格,设置单元格的合并方式。具体操作可以参考博客园另外一篇博文,点击

出现过表格不自动合并的情形。

方式二、

如果单元格不需要合并,但行数不固定,推荐!

核心代码:

var dt1 = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, 1, true);
Row clonedRow = (Row)dt1.LastRow.Clone(true);
foreach (Cell cell in clonedRow.Cells) cell.RemoveAllChildren();
dt1.AppendChild(clonedRow);

  查找需要进行操作的表格,选定最后一行,作为模板,清除单元格的数据,以向该表格增加新行,将该行添加到表格中。

循环,可添加多行。

数据添加可以先通过builder.MoveToCell移动到指定单元格,再使用builder.Write在单元格中输出数据。

该操作过程和DataTable添加新行类似。

表格吻合很好。

对齐

对齐有垂直对齐和水平对齐两种。

垂直对齐

builder.CellFormat.VerticalAlignment=CellVerticalAlignment.Center;

水平对齐

builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;

aspose输出表格的更多相关文章

  1. 用JavaScript输出表格

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. Javascript输出表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. vue v-for输出表格结构

    v-for输出表格结构 数据库结构如下: 原理: 两个数组 a, b,  数组a的值,是数组b的键(索引), 变量拼接(红色区域): <table> <tr> <th v ...

  4. [shell脚本]在Linux终端可视化输出表格数据

    最终效果 1. 自定义表格样式 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以在执行shell脚本时实时传递参数从而指 ...

  5. Aspose.Word 输出表格后空格字符丢失的解决方法

    将datatable输出到word,执行如下代码. doc.MailMerge.ExecuteWithRegions(outDt); 执行完后发现第一列含前缀空格的字段值,空格字符被自动清除了. 解决 ...

  6. PHP 输出表格单元格的数据之用表单的方式;

    echo "<table border=1 class="imagetable" >"; //使用表格格式化数据echo "<for ...

  7. Python之使用转义序列 \n 和 \t 跟 expandtabs 函数输出表格

    示例: text = "username\temail\tpassword\nashdfh\tfiodfh@q.com\ty567\nsdfiuh\tadfhisoj@163.com\t42 ...

  8. thinkphp输出表格

    //这是打印5列n行的表格,所以mod="5" value="4" <tr> <volist name="data" id ...

  9. 013-PHP输出表格

    <?php // 数据表格化 print("<TABLE bgcolor='ffccoo' BORDER=\"1\">\n"); // 表格开 ...

随机推荐

  1. C#中对象的输出

    假设有个Costmer类如下: class Costmer { public string Id { get; set; } public string City { get; set; } publ ...

  2. C Primer Plus之结构和其他数据形式

    声明和初始化结构指针 声明结构化指针,例如: struct guy * him; 初始化结构指针(如果barney是一个guy类型的结构),例如: him = &barney; 注意:和数组不 ...

  3. 【pku2115-C Looooops】拓展欧几里得-不定方程

    http://poj.org/problem?id=2115 题解:一个变量从A开始加到B,每次加C并mod2^k,问加多少次.转化为不定方程:C*x+2^K*Y=B-A //poj2115 #inc ...

  4. hdu 4664 Triangulation(题意已在讨论版中说明)

    题意: 给定n个平面(平面之间相互独立),每个平面上有一些点,并且构成凸集,C和D轮流选一个平面连接两个点画线段,并保证线段之间除了端点之外没有其它交点,当平面上出现一个完整的三角形之后此平面就不能继 ...

  5. JSTL标签库中fmt标签,日期,数字的格式化

    首先介绍日期的格式化:(不要嫌多哦) JSTL格式化日期(本地化) 类似于数字和货币格式化,本地化环境还会影响生成日期和时间的方式. <%@ page pageEncoding="UT ...

  6. CentOS启动和停止服务详解

    服务简介Linux 系统服务是在Linux启 动时自动加载,并在Linux退出时自动停止的系统任务.在Linux 启动过程中,我们可以看得很多“starting … ”提示信息,该信息表示正在启动系统 ...

  7. SQL Agent Job ->> 通过sys.sysprocesses的program_name字段来定位对应的Job

    ;WITH T AS ( SELECT 'SQLAgent - TSQL JobStep (Job 0x'+ ),)),) + ' : Step ' + )) + ')' filter, j.job_ ...

  8. Java基础复习之二:运算符,键盘录入,流程控制语句,if语句,三元运算

    1.运算符 1.1.算术运算符  +(加法有三个用法:加法,正号,字符串连接符)  -  *  /  %  ++  -- 1.1.1./ 是取商,%是取余 1.1.2.++ 与--的用法(a:作用是自 ...

  9. 下载安装和OpenCV匹配的Android开发环境

    ok blog Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Jav ...

  10. C# 数组、一维数组、二维数组、多维数组、锯齿数组

    C#  数组.一维数组.二维数组.多维数组.锯齿数组 一.数组: 如果需要使用同一类型的对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.它的长度是固定的,如长度未知的情况下,请 ...