Aspose.Words for .NET使用表格教程之合并和拆分表
Aspose.Words For .Net是一種高級(jí)Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無(wú)需在跨平臺(tái)應(yīng)用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
【下載Aspose.Words for .NET最新試用版】
接下來(lái)我們將進(jìn)入“使用格式”的介紹,其中包括應(yīng)用格式、介紹和創(chuàng)建表、添加和拆分表以及使用列和行。
表是word文檔中常見的元素。它們?cè)试S在具有行和列的網(wǎng)格結(jié)構(gòu)中清晰地組織和顯示大量信息。它們還經(jīng)常用作頁(yè)面布局工具,并且是顯示選項(xiàng)卡數(shù)據(jù)(帶有選項(xiàng)卡停止)的更好選擇,因?yàn)樗鼈冊(cè)试S更好地控制內(nèi)容的設(shè)計(jì)和布局。
表由Cell,Row和Column等元素組成。這些概念通常適用于所有表,無(wú)論它們來(lái)自Microsoft Word文檔還是HTML文檔,完全支持Aspose.Words中的表。您可以自由編輯,更改,添加和刪除表格。還支持高保真表格的渲染。
合并和拆分表
在Aspose.Words文檔對(duì)象模型中表示的表由獨(dú)立的行和單元組成,這使得連接或拆分表變得容易。為了操縱表以拆分或與另一個(gè)表連接,我們只需要將行從一個(gè)表移動(dòng)到另一個(gè)表。
將兩個(gè)表合并為一個(gè)
第二個(gè)表中的行只需要移動(dòng)到第一個(gè)表的末尾,并刪除第二個(gè)表的容器。下面的示例演示如何將兩個(gè)表中的行合并為一個(gè)。
// 加載文檔. Document doc = new Document(dataDir + fileName); //獲取文檔中的第一個(gè)和第二個(gè)表 //第二個(gè)表中的行將附加到第一個(gè)表的末尾 Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true); Table secondTable = (Table)doc.GetChild(NodeType.Table, 1, true); //將當(dāng)前表中的所有行附加到下一個(gè) // 由于表的設(shè)計(jì),即使具有不同單元數(shù)和寬度的表也可以連接到一個(gè)表中 while (secondTable.HasChildNodes) firstTable.Rows.Add(secondTable.FirstRow); //刪除空表容器 secondTable.Remove(); dataDir = dataDir + "Table.CombineTables_out.doc"; //保存完成的文檔 doc.Save(dataDir);
將表拆分為兩個(gè)單獨(dú)的表
我們首先需要在分割表的位置選擇一行。一旦我們知道這一點(diǎn),我們就可以通過(guò)以下簡(jiǎn)單步驟從原始表創(chuàng)建兩個(gè)表:
- 創(chuàng)建表的克隆而不克隆子項(xiàng)以保存移動(dòng)的行并將其插入原始表之后。
- 從指定的行開始將所有后續(xù)行移動(dòng)到此第二個(gè)表。
//加載文檔 Document doc = new Document(dataDir + fileName); //獲取文檔中的第一個(gè)表 Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true); // 我們將在第三行(包括)分割表格 Row row = firstTable.Rows[2]; //為拆分表創(chuàng)建一個(gè)新容器. 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);
*悅滿中秋 · 購(gòu)享好禮,現(xiàn)在購(gòu)買Aspose系列產(chǎn)品即可領(lǐng)取精美禮品喲,更多活動(dòng)詳情可咨詢?cè)诰€客服了解哦~
ASPOSE技術(shù)交流QQ群已開通,各類資源及時(shí)分享,歡迎交流討論!(掃描下方二維碼加入群聊)