彩票走势图

Aspose.Words使用教程之表的合并与拆分

原创|使用教程|编辑:龚雪|2015-08-17 16:36:16.000|阅读 2048 次

概述: Aspose.Words表的合并与拆分的使用教程

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

    Aspose.Words文档对象模型的表格由独立行和单元格组成,那样可以方便地实现加入或划分表格。

为了可以操作表格来与另外表格进行拆分与添加,我们只需要将一个表的行移动到另一个表里面即可。

两张表结合为一张表

注意:第二张表的行被转移到第一张表的末尾并且第二张表会被删除。

代码如下:

C#

// Load the document.
Document doc = new Document(MyDir + "Table.Document.doc");
// Get the first and second table in the document.
// The rows from the second table will be appended to the end of the first table.
Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true);
Table secondTable = (Table)doc.GetChild(NodeType.Table, 1, true);
// Append all rows from the current table to the next.
// Due to the design of tables even tables with different cell count and widths can be joined into one table.
while (secondTable.HasChildNodes)
   firstTable.Rows.Add(secondTable.FirstRow);
// Remove the empty table container.
secondTable.Remove();
doc.Save(MyDir + "Table.CombineTables Out.doc");

 
Visual Basic

' Load the document.
Dim doc As New Document(MyDir & "Table.Document.doc")
' Get the first and second table in the document.
' The rows from the second table will be appended to the end of the first table.
Dim firstTable As Table = CType(doc.GetChild(NodeType.Table, 0, True), Table)
Dim secondTable As Table = CType(doc.GetChild(NodeType.Table, 1, True), Table)
' Append all rows from the current table to the next.
' Due to the design of tables even tables with different cell count and widths can be joined into one table.
Do While secondTable.HasChildNodes
   firstTable.Rows.Add(secondTable.FirstRow)
Loop
' Remove the empty table container.
secondTable.Remove()
doc.Save(MyDir & "Table.CombineTables Out.doc")



拆分一张表为两张独立表:

注意:我们首先需要选择一个在哪儿分割表的行。一旦我们知道这个地方,遵循这些简单的步骤我们可以从原始表创建两张表:
  1.创建一个复制的表,然后从原始表移动行并且插入进这张表。
  2.从指定的行所有后续行移动到第二张表。
 

C#

// Load the document.
Document doc = new Document(MyDir + "Table.SimpleTable.doc");  
// Get the first table in the document.
Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true);
// We will split the table at the third row (inclusive).   
Row row = firstTable.Rows[2];   
// Create a new container for the split table.   
Table table = (Table)firstTable.Clone(false);   
// Insert the container after the original.   
firstTable.ParentNode.InsertAfter(table, firstTable);   
// Add a buffer paragraph to ensure the tables stay apart.   
firstTable.ParentNode.InsertAfter(new Paragraph(doc), firstTable);   
Row currentRow;   
do   
{   
    currentRow = firstTable.LastRow;   
    table.PrependChild(currentRow);   }   
while 
(
   currentRow != row); 
   doc.Save(MyDir + "Table.SplitTable Out.doc");

Visual Basic

' Load the document.
Dim doc As New Document(MyDir & "Table.SimpleTable.doc")
' Get the first table in the document.
Dim firstTable As Table = CType(doc.GetChild(NodeType.Table, 0, True), Table)
' We will split the table at the third row (inclusive).
Dim row As Row = firstTable.Rows(2)
' Create a new container for the split table.
Dim table As Table = CType(firstTable.Clone(False), Table)
' Insert the container after the original.
firstTable.ParentNode.InsertAfter(table, firstTable)
' Add a buffer paragraph to ensure the tables stay apart.
firstTable.ParentNode.InsertAfter(New Paragraph(doc), firstTable)
Dim currentRow As Row
Do
    currentRow = firstTable.LastRow
    table.PrependChild(currentRow)
Loop While currentRow IsNot row
doc.Save(MyDir & "Table.SplitTable Out.doc")

 


Aspose.Words最新版下载


标签:Aspose.words

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP