Aspose.Words for .NET使用表格教程之應(yīng)用格式(1)——將格式應(yīng)用于表,行和單元格
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)建表、添加和拆分表以及使用列和行。
將格式應(yīng)用于表,行和單元格
表的每個(gè)元素都可以應(yīng)用不同的格式。例如,表格格式將應(yīng)用于整個(gè)表格,而行格式化僅影響特定行等。Aspose.Words提供了豐富的API來(lái)檢索和應(yīng)用格式化表格。您可以使用Table,RowFormat和CellFormat節(jié)點(diǎn)來(lái)設(shè)置格式。
▲在表級(jí)應(yīng)用格式
要將格式應(yīng)用于表,可以使用相應(yīng)表節(jié)點(diǎn)上的可用屬性。下面給出了Microsoft Word中表格格式功能的可視化視圖及其在Aspose.Words中的相應(yīng)屬性。
下面的示例顯示如何將輪廓邊框應(yīng)用于表:
Document doc = new Document(dataDir + "Table.EmptyTable.doc"); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); //將表格對(duì)齊到頁(yè)面的中心。 table.Alignment = TableAlignment.Center; // Clear any existing borders from the table. table.ClearBorders(); //在桌子周圍設(shè)置一個(gè)綠色的邊框,但不要在里面。 table.SetBorder(BorderType.Left, LineStyle.Single, 1.5, Color.Green, true); table.SetBorder(BorderType.Right, LineStyle.Single, 1.5, Color.Green, true); table.SetBorder(BorderType.Top, LineStyle.Single, 1.5, Color.Green, true); table.SetBorder(BorderType.Bottom, LineStyle.Single, 1.5, Color.Green, true); // 用淡綠色填充單元格。 table.SetShading(TextureIndex.TextureSolid, Color.LightGreen, Color.Empty); dataDir = dataDir + "Table.SetOutlineBorders_out.doc"; // 將文檔保存到磁盤。 doc.Save(dataDir);
下面的示例展示了如何構(gòu)建一個(gè)啟用所有邊框(網(wǎng)格)的表:
Document doc = new Document(dataDir + "Table.EmptyTable.doc"); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); //清除表中任何現(xiàn)有的邊框。 table.ClearBorders(); //在桌子周圍和里面設(shè)置一個(gè)綠色邊框。 table.SetBorders(LineStyle.Single, 1.5, Color.Green); dataDir = dataDir + "Table.SetAllBorders_out.doc"; //將文檔保存到磁盤。 doc.Save(dataDir);
▲在行級(jí)上應(yīng)用格式
可以使用Row 的RowFormat屬性控制行級(jí)別的格式。
下面的示例演示如何修改表格行的格式:
Document doc = new Document(dataDir + "Table.Document.doc"); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); // 檢索表中的第一個(gè)單元格。 Cell firstCell = table.FirstRow.FirstCell; //修改一些單元級(jí)屬性。 firstCell.CellFormat.Width = 30; // In points firstCell.CellFormat.Orientation = TextOrientation.Downward; firstCell.CellFormat.Shading.ForegroundPatternColor = Color.LightGreen;
▲在單元級(jí)別上應(yīng)用格式化
使用Cell 的CellFormat屬性控制單元級(jí)別的格式。
下面的示例演示如何修改表格單元格的格式:
Document doc = new Document(dataDir + "Table.Document.doc"); Table table = (Table)doc.GetChild(NodeType.Table, 0, true); //檢索表中的第一個(gè)單元格。 Cell firstCell = table.FirstRow.FirstCell; //修改一些單元級(jí)屬性。 firstCell.CellFormat.Width = 30; // In points firstCell.CellFormat.Orientation = TextOrientation.Downward; firstCell.CellFormat.Shading.ForegroundPatternColor = Color.LightGreen;
下面的代碼示例顯示了如何設(shè)置要添加到單元格內(nèi)容的左/上/右/下的空間量(以磅為單位):
Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.StartTable(); builder.InsertCell(); //設(shè)置要添加到單元格內(nèi)容的左側(cè)/頂部/右側(cè)/底部的空間量(以點(diǎn)為單位)。 builder.CellFormat.SetPaddings(30, 50, 30, 50); builder.Writeln("I'm a wonderful formatted cell."); builder.EndRow(); builder.EndTable(); dataDir = dataDir + "Table.SetCellPadding_out.doc"; //將文檔保存到磁盤。 doc.Save(dataDir);
▲指定行高度
使用高度和高度規(guī)則屬性控制表格行的高度。 這些可以針對(duì)表中的每一行進(jìn)行不同的設(shè)置,以允許對(duì)每行的高度進(jìn)行廣泛控制。 在Aspose.Words中,這些由給定Row的RowFormat.Height和RowFormat.HeightRule屬性表示。
高度價(jià)值 | 描述 |
Auto | 這是給予新行的默認(rèn)高度規(guī)則。 從技術(shù)上講,這意味著沒有定義高度規(guī)則。 該行的大小適合該行單元格中的最大內(nèi)容。 |
At Least | 使用此設(shè)置,行的高度將增大以適應(yīng)行的內(nèi)容,但永遠(yuǎn)不會(huì)小于RowFormat.Height中的指定大小。 |
Exactly | 行的大小完全設(shè)置為RowFormat.Height中找到的值,并且不會(huì)增長(zhǎng)到適合內(nèi)容。 |
下面的示例顯示如何創(chuàng)建包含單個(gè)單元格的表并應(yīng)用行格式化:
Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); Table table = builder.StartTable(); builder.InsertCell(); //設(shè)置行格式 RowFormat rowFormat = builder.RowFormat; rowFormat.Height = 100; rowFormat.HeightRule = HeightRule.Exactly; //這些格式化屬性設(shè)置在表上,并應(yīng)用于表中的所有行。 table.LeftPadding = 30; table.RightPadding = 30; table.TopPadding = 30; table.BottomPadding = 30; builder.Writeln("I'm a wonderful formatted row."); builder.EndRow(); builder.EndTable(); dataDir = dataDir + "Table.ApplyRowFormatting_out.doc"; //將文檔保存到磁盤。 doc.Save(dataDir);
▲應(yīng)用邊框和陰影
邊框和著色可以使用Table.SetBorder,Table.SetBorders和Table.SetShading在表格范圍內(nèi)應(yīng)用,也可以僅使用CellFormat.Borders和CellFormat.Shading應(yīng)用于特定單元格。 另外,可以使用RowFormat.Borders在一行上設(shè)置邊框,但是不能以這種方式應(yīng)用著色。
下面的示例演示如何使用不同的邊框和陰影格式化表格和單元格。
Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); Table table = builder.StartTable(); builder.InsertCell(); // 為整個(gè)表設(shè)置邊框。 table.SetBorders(LineStyle.Single, 2.0, Color.Black); //為這個(gè)單元格設(shè)置單元格陰影。 builder.CellFormat.Shading.BackgroundPatternColor = Color.Red; builder.Writeln("Cell #1"); builder.InsertCell(); //為第二個(gè)單元格指定不同的單元格著色。 builder.CellFormat.Shading.BackgroundPatternColor = Color.Green; builder.Writeln("Cell #2"); //結(jié)束這一行。 builder.EndRow(); //清除以前操作中的單元格格式。 builder.CellFormat.ClearFormatting(); // 創(chuàng)建第二行。 builder.InsertCell(); //為該行的第一個(gè)單元格創(chuàng)建更大的邊框。這將是不同的。 //與為表設(shè)置的邊框相比。 builder.CellFormat.Borders.Left.LineWidth = 4.0; builder.CellFormat.Borders.Right.LineWidth = 4.0; builder.CellFormat.Borders.Top.LineWidth = 4.0; builder.CellFormat.Borders.Bottom.LineWidth = 4.0; builder.Writeln("Cell #3"); builder.InsertCell(); //清除前一個(gè)單元格的單元格格式。 builder.CellFormat.ClearFormatting(); builder.Writeln("Cell #4"); //保存完成文檔。 doc.Save(dataDir + "Table.SetBordersAndShading_out.doc");
*想要獲取Aspose.Words正版授權(quán)可聯(lián)系在線客服哦~
ASPOSE技術(shù)交流QQ群已開通,各類資源及時(shí)分享,歡迎交流討論!(掃描下方二維碼加入群聊)