Aspose.Words for .NET使用表格教程之合并和拆分表
Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
【下载Aspose.Words for .NET最新试用版】
接下来我们将进入“使用格式”的介绍,其中包括应用格式、介绍和创建表、添加和拆分表以及使用列和行。
表是word文档中常见的元素。它们允许在具有行和列的网格结构中清晰地组织和显示大量信息。它们还经常用作页面布局工具,并且是显示选项卡数据(带有选项卡停止)的更好选择,因为它们允许更好地控制内容的设计和布局。
表由Cell,Row和Column等元素组成。这些概念通常适用于所有表,无论它们来自Microsoft Word文档还是HTML文档,完全支持Aspose.Words中的表。您可以自由编辑,更改,添加和删除表格。还支持高保真表格的渲染。
合并和拆分表
在Aspose.Words文档对象模型中表示的表由独立的行和单元组成,这使得连接或拆分表变得容易。为了操纵表以拆分或与另一个表连接,我们只需要将行从一个表移动到另一个表。
将两个表合并为一个
第二个表中的行只需要移动到第一个表的末尾,并删除第二个表的容器。下面的示例演示如何将两个表中的行合并为一个。
// 加载文档. Document doc = new Document(dataDir + fileName); //获取文档中的第一个和第二个表 //第二个表中的行将附加到第一个表的末尾 Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true); Table secondTable = (Table)doc.GetChild(NodeType.Table, 1, true); //将当前表中的所有行附加到下一个 // 由于表的设计,即使具有不同单元数和宽度的表也可以连接到一个表中 while (secondTable.HasChildNodes) firstTable.Rows.Add(secondTable.FirstRow); //删除空表容器 secondTable.Remove(); dataDir = dataDir + "Table.CombineTables_out.doc"; //保存完成的文档 doc.Save(dataDir);
将表拆分为两个单独的表
我们首先需要在分割表的位置选择一行。一旦我们知道这一点,我们就可以通过以下简单步骤从原始表创建两个表:
- 创建表的克隆而不克隆子项以保存移动的行并将其插入原始表之后。
- 从指定的行开始将所有后续行移动到此第二个表。
//加载文档 Document doc = new Document(dataDir + fileName); //获取文档中的第一个表 Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true); // 我们将在第三行(包括)分割表格 Row row = firstTable.Rows[2]; //为拆分表创建一个新容器. Table table = (Table)firstTable.Clone(false); //在原始文件后插入容器 firstTable.ParentNode.InsertAfter(table, firstTable); //添加缓冲段落以确保表格保持分开 firstTable.ParentNode.InsertAfter(new Paragraph(doc), firstTable); Row currentRow; do { currentRow = firstTable.LastRow; table.PrependChild(currentRow); } while (currentRow != row); dataDir = dataDir + "Table.SplitTable_out.doc"; //保存完成的文档 doc.Save(dataDir);
*悦满中秋 · 购享好礼,现在购买Aspose系列产品即可领取精美礼品哟,更多活动详情可了解哦~
ASPOSE技术交流QQ群已开通,各类资源及时分享,欢迎交流讨论!(扫描下方二维码加入群聊)