aspose输出表格
利用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输出表格的更多相关文章
- 用JavaScript输出表格
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Javascript输出表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- vue v-for输出表格结构
v-for输出表格结构 数据库结构如下: 原理: 两个数组 a, b, 数组a的值,是数组b的键(索引), 变量拼接(红色区域): <table> <tr> <th v ...
- [shell脚本]在Linux终端可视化输出表格数据
最终效果 1. 自定义表格样式 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以在执行shell脚本时实时传递参数从而指 ...
- Aspose.Word 输出表格后空格字符丢失的解决方法
将datatable输出到word,执行如下代码. doc.MailMerge.ExecuteWithRegions(outDt); 执行完后发现第一列含前缀空格的字段值,空格字符被自动清除了. 解决 ...
- PHP 输出表格单元格的数据之用表单的方式;
echo "<table border=1 class="imagetable" >"; //使用表格格式化数据echo "<for ...
- Python之使用转义序列 \n 和 \t 跟 expandtabs 函数输出表格
示例: text = "username\temail\tpassword\nashdfh\tfiodfh@q.com\ty567\nsdfiuh\tadfhisoj@163.com\t42 ...
- thinkphp输出表格
//这是打印5列n行的表格,所以mod="5" value="4" <tr> <volist name="data" id ...
- 013-PHP输出表格
<?php // 数据表格化 print("<TABLE bgcolor='ffccoo' BORDER=\"1\">\n"); // 表格开 ...
随机推荐
- POJ 1947 Rebuilding Roads(树形DP)
题目链接 题意 : 给你一棵树,问你至少断掉几条边能够得到有p个点的子树. 思路 : dp[i][j]代表的是以i为根的子树有j个节点.dp[u][i] = dp[u][j]+dp[son][i-j] ...
- poj 3255(次短路)
题目链接:http://poj.org/bbs?problem_id=3255 思路:分别以源点1和终点N为源点,两次SPFA求得dist1[i](1到各点的最短距离)以及dist2[i](各点到N的 ...
- JavaScript基础之函数与数组
函数 函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...
- 可灵活扩展的自定义Session状态存储驱动
Session是互联网应用中非常重要的玩意儿,对于超过单台部署的站点集群,都会存在会话共享的需求.在web.config中,微软提供了sessionstate节点来定义不同的Session状态存储方式 ...
- Mysql笔记——触发器简单实例
首先贴上触发器语法吧: CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { BEFOR ...
- Burpsuite如何抓取使用了SSL或TLS传输的Android App流量
一.问题分析 一般来说安卓的APP端测试分为两个部分,一个是对APK包层面的检测,如apk本身是否加壳.源代码本身是否有恶意内嵌广告等的测试,另一个就是通过在本地架设代理服务器来抓取app的包分析是否 ...
- Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误
原因:某个项目需要的jar包没有导入 参考文章:http://www.blogjava.net/zJun/archive/2007/10/16/153374.html
- 编辑器Emacs下载网址(中国镜像)
Root gnu emacs windows File Name ↓ File Size ↓ Date ↓ Parent directory/ - - README 14K 2014-Nov-15 ...
- PHP Session可能会引起并发问题
在进行Web应用程序开发的时候,人们经常会用Session存储数据.但可能有人不知道,在PHP中,Session使用不当可能会引起并发问题.印度医疗行业软件解决方案提供商Plus91 Technolo ...
- C# Server.MapPath()
./当前目录 /网站主目录../上层目录~/网站虚拟目录 如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\ ...