Aspose.Words使用教程之表的合并与拆分
来源:互联网 发布:boolean false php 编辑:程序博客网 时间:2024/05/15 04:33
Aspose.Words文档对象模型的表格由独立行和单元格组成,那样可以方便地实现加入或划分表格。
为了可以操作表格来与另外表格进行拆分与添加,我们只需要将一个表的行移动到另一个表里面即可。
两张表结合为一张表:
注意:第二张表的行被转移到第一张表的末尾并且第二张表会被删除。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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"
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.从指定的行所有后续行移动到第二张表。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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"
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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最新版下载
有用(0)
0 0
- Aspose.Words使用教程之表的合并与拆分
- Aspose.Words使用教程之如何重命名合并字段
- Aspose.Words使用教程大全
- Aspose.Words使用教程大全
- Aspose.Words使用教程大全
- Aspose.Words使用教程之如何使用ChartDataLabel
- Aspose.Words使用教程之插入文档元素(三)
- Aspose.Words使用教程之从零创建OOXML图表
- 分享很全的Aspose.Words教程
- 【转】挺全的Aspose.Words教程
- 在邮件合并时使用Aspose.Words生成多个文档的具体代码
- Aspose.words之IReplacingCallback接口的应用
- Aspose.words合并文档、邮件合并功能
- Aspose.Words使用教程大全(操作Word大全帖子)
- 使用Aspose.Words for Java完成复杂Word与PDF的导出
- 使用Aspose.Words for Java完成复杂Word与PDF的导出
- itextsharp、Aspose.Words、Aspose.Cells联合使用
- Aspose.words之插入水印
- poj 2386 深搜水题
- nosql应用场景
- EL,OGNL两种表达式用处的不同
- hdu2647
- 并查集 模板
- Aspose.Words使用教程之表的合并与拆分
- 微信扫码支付报错:curl出错,错误码:60
- HDU 3062 Party (2-SAT模板题)
- ios 广告图片无限滚动(swift)
- Python学习笔记(4)Python中super的用法
- UVA 11995I Can Guess the Data Structure!【模拟】
- 黑马程序员——Java程序的初始化过程详解
- 素数的判定
- 使用git-flow来帮助管理git代码