Word中的table是要借助数据区域(DataRegion)实现的,要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作table。因此,要想使用table,则必须在word文件中插入书签(数据区域,即书签的添加使用与实现方法在“导出word.doc”文档中已经详细介绍过了,此处不再赘述)。而table的插入,既可以在Word模版中书签处手动插入:工具栏“插入”→“表格”,亦可以在程序中通过数据区域动态添加。
一、给Word模板中的table手动插入书签。
1. 把Table包含在数据区域中。
例如:有这样一个人员信息表,想要在这个人员信息表中填充数据,则必须先将整个成绩表的table包含到一个“书签”中。
公司名称 | 部门名称 | 员工姓名 |
. |
选择表格,然后插入书签,比如书签名为:PO_regTable,操作步骤如下图所示:
:-:
注:插入书签的时候一定要先选中整个table,然后再点击插入书签按钮进行插入。
2. 编写代码给Table赋值。
PageOffice.WordWriter.WordDocument doc = new PageOffice.WordWriter.WordDocument();
//获取Table所在的数据区域对象
PageOffice.WordWriter.DataRegion dataRegion = doc.OpenDataRegion("PO_regTable");
//打开table,openTable(index)方法中的index代表当前书签中table位置的索引,从1开始
PageOffice.WordWriter.Table table = dataRegion.OpenTable(1);
//给table中的单元格赋值, OpenCellRC(行, 列)
table.OpenCellRC(3, 1).Value = "A公司";
table.OpenCellRC(3, 2).Value = "开发部";
table.OpenCellRC(3, 3).Value = "李清";
//插入一空行,InsertRowAfter方法中的参数表示在哪个单元格下面插入一行
table.InsertRowAfter(table.OpenCellRC(3, 3));
table.OpenCellRC(4, 1).Value = "B公司";
table.OpenCellRC(4, 2).Value = "销售部";
table.OpenCellRC(4, 3).Value = "张三丰";
PageOfficeCtrl1.SetWriter(doc);
PageOfficeCtrl1.ServerPage = Request.ApplicationPath + "/pageoffice/server.aspx";
PageOfficeCtrl1.WebOpen("doc/test.doc",PageOffice.OpenModeType.docNormalEdit,"张佚名");
填充数据后的表格如下图所示:
:-:
请参考PageOffice产品开发包中Samples4示例:
一、17、给Word文档中Table赋值的简单示例
二、程序动态地给word中创建table。
同样地,程序动态地给word添加table时需要在制作模板的时候先插入一个数据区域,命名为:PO_table1,这样就可以通过获取到数据区域PO_table1之后,用数据区域对象DataRegion的CreateTable方法在此数据区域所在位置新建一个表格。CreateTable方法有三个参数,分别是:行、列和表格类型。表格类型目前分三种,如下表所示。
wdAutoFitFixed | 0 | 将表格设置为固定大小而与内容无关,因此不会自动调整表格大小。 |
wdAutoFitContent | 1 | 根据表格中包含的内容自动调整表格的大小。 |
wdAutoFitWindow | 2 | 根据活动窗口的宽度自动调整表格大小。 |
代码实现:
WordDocument doc = new WordDocument();
PageOffice.WordWriter.DataRegion drTable1 = doc.OpenDataRegion("PO_table1");
PageOffice.WordWriter.Table table1 = drTable1.CreateTable(3, 5, WdAutoFitBehavior.wdAutoFitWindow);
table1.OpenCellRC(1, 1).MergeTo(3, 1);
table1.OpenCellRC(1, 1).Value="合并后的单元格";
//给表格table1中剩余的单元格赋值
for (int i = 1; i < 4; i++)
{
table1.OpenCellRC(i, 2).Value = "AA" + i.ToString();
table1.OpenCellRC(i, 3).Value = "BB" + i.ToString();
table1.OpenCellRC(i, 4).Value = "CC" + i.ToString();
table1.OpenCellRC(i, 5).Value = "DD" + i.ToString();
}
//在"PO_table1"后面动态创建一个新的数据区域"PO_table2",用于创建新的一个5行5列的表格table2
PageOffice.WordWriter.DataRegion drTable2 = doc.CreateDataRegion("PO_table2",
DataRegionInsertType.After, "PO_table1");
PageOffice.WordWriter.Table table2 = drTable2.CreateTable(5, 5, WdAutoFitBehavior.wdAutoFitWindow);
//给新表格table2赋值
for (int i = 1; i < 6; i++)
{
table2.OpenCellRC(i, 1).Value = "AA" + i.ToString();
table2.OpenCellRC(i, 2).Value = "BB" + i.ToString();
table2.OpenCellRC(i, 3).Value = "CC" + i.ToString();
table2.OpenCellRC(i, 4).Value = "DD" + i.ToString();
table2.OpenCellRC(i, 5).Value = "EE" + i.ToString();
}
PageOfficeCtrl1.SetWriter(doc);
PageOfficeCtrl1.ServerPage = Request.ApplicationPath + "/pageoffice/server.aspx";
PageOfficeCtrl1.WebOpen("doc/createTable.doc",PageOffice.OpenModeType.docNormalEdit,"张佚名");
生成效果:
:-:
请参考PageOffice产品开发包中Samples4示例的“高级功能”演示:
二、43、在Word文档中动态创建表格并赋值(专业版、企业版)
相关推荐
主要介绍了jQuery实现动态给table赋值的方法,结合具体实例形式分析了jQuery动态操作table表格节点的相关技巧,需要的朋友可以参考下
asp.net动态创建table并赋值dt.Columns.Add...
要求:用js实现给一个table赋值如上:(定义X=70 【HTML】 <table class=table> 经济条件较好地区学费表 <th></th> <th>4-8人班 <th>2-3人班 <th>1人班 <th>10人以上 <tbody data-json=area1></tbody>...
以生成工资条为例,演示了通过PageOffice开发平台,用Java语言实现Word文档的在线打开、编辑和保存,数据区域数据的动态填充和提交,数据区域插入Word文件,动态填充和提交Word文件中Tabel的数据
vc++6/mfc中使用boost示例,加载显示网页,读取网址并赋值html,读取网页中table中内容
AsposeWord导出word表格,简单封装成了AsposeWordHelper,开发工具:vs2015
cvi生成word报告,在里面创建表格,操作各种表格格式,包括合并单元格,边框颜色等
指定table导出成excel和word 指定table导出成excel和word
Word Execl Table 工具 方便的word分页工具
POI 读取word中的Table表 共同类
poi 将echar报表生成到word table表格中,类似与word文档中的生成图片,对于导出 word文档的报表是个不错的实例
matlab开发-table2word。使用标题和矩阵在Microsoft Word文档中创建表。
由于项目需要,关于js将table转为excel,纠结了好久,在网上找了很多资料,前面也上传了两个版本,后来发现问题很多,到目前为止这个版本是兼容性最好。可以自定义文件名,下载表格有边框,有标题,欢迎下载;
读取word稳定并进行内容替换,table与其余变量都可进行替换,程序可以直接导入运行,jar都带着
VB6.0 将数据库数据传给Word,将数据库内容发送给Word,在Word中打开Access中的数据内容: '创建word应用程序,这一句话打开word2000 Set wdapp = CreateObject("Word.Application") '在word中添加一个新文档 ...
介绍了JS动态创建Table,Tr,Td并赋值的具体实现,有需要的朋友可以参考一下
C#操作word文档 C#实现Word中表格信息读取