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


     Aspose.Words文档对象模型的表格由独立行和单元格组成,那样可以方便地实现加入或划分表格。为了可以操作表格来与另外表格进行拆分与添加,我们只需要将一个表的行移动到另一个表里面即可。

    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文档管理产品  Aspose技术交流群(761297826)

  • 相关阅读:
    数据结构篇其二---单链表(C语言+超万字解析)
    如何正确地使用ChatGPT(角色扮演+提示工程)
    Java学习笔记4.3.2 数学计算 - Random类
    基于AI与物联网技术的智能视频监控系统架构剖析
    基于PHP的幸福街道的宠物管理平台的设计与开发
    Go语言基础 基本数据类型使用
    【Spring Boot 3】【Camel 4】静态路由
    【机器学习】随机森林、AdaBoost、GBDT、XGBoost从零开始理解
    剑指 Offer 2022/7/5
    勘测、军用、探测部门常用的,双光融合热成像夜视仪 ---TFN TD8V
  • 原文地址:https://blog.csdn.net/m0_67129275/article/details/126153118