表格用於以行和列的形式排列數據。此外,他們組織和匯總數據,以便於查看和分析。 MS PowerPoint 還允許您在演示文稿中插入表格。因此,本文介紹瞭如何使用 C# 在 PowerPoint 演示文稿中創建和操作表格。
用於在 PowerPoint 中創建和操作表格的 C# API
要在 PowerPoint 演示文稿中創建和操作表格,我們將使用 Aspose.Slides for .NET。 API 允許您創建、操作和轉換 PowerPoint 和 OpenOffice 文檔。您可以下載 API 的 DLL 並在您的項目中添加對它的引用。此外,您可以使用 NuGet 安裝它。
PM> Install-Package Aspose.Slides.NET
使用 C# 在 PowerPoint 演示文稿中創建表格
使用 Aspose.Slides for .NET 創建表格是小菜一碟。以下步驟顯示如何使用 C# 在 PowerPoint 演示文稿中創建表格。
- 首先,使用 Presentation 類創建一個新的演示文稿或加載現有的演示文稿。
- 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
- 在double[]數組中分別定義列寬和行高。
- 使用 ISlide.Shapes.AddTable() 方法在演示文稿中插入一個新表格。
- 在 ITable 對像中獲取新創建的表的引用。
- 創建循環以遍歷表的行。
- 創建一個嵌套循環以遍歷表格的單元格,並在每次迭代中執行以下操作。
- 使用 ITable.Rows[rowIndex][cellIndex].TextFrame.Text 屬性設置單元格的文本。
- 將單元格的格式設置引用到 ICellFormat 對像中,並根據需要設置單元格的邊框樣式。
- 最後,使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
以下代碼示例顯示如何在 PowerPoint 演示文稿中創建表格。
// 創建或加載演示文稿
Presentation pres = new Presentation();
// 訪問第一張幻燈片
ISlide sld = pres.Slides[0];
// 定義具有寬度的列和具有高度的行
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// 將表格形狀添加到幻燈片
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// 為每個單元格設置邊框格式和文本
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// 向單元格添加文本
tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// 將 PPTX 保存到磁盤
pres.Save("table.pptx", SaveFormat.Pptx);
以下屏幕截圖顯示了我們使用上述代碼創建的表格。
使用 C# 訪問演示文稿中的表
您還可以訪問現有 PowerPoint 演示文稿中的表格並根據需要對其進行操作。以下是訪問演示文稿中的表格的步驟。
- 首先,使用 Presentation 類加載現有演示文稿。
- 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
- 創建 ITable 的實例並用 null 初始化它。
- 遍歷 ISlide.Shapes 集合中的所有 IShape 對象。
- 過濾 ITable 類型的形狀。
- 將形狀類型轉換為 ITable 並根據需要對其進行操作。
- 最後,使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
以下代碼示例演示如何使用 C# 訪問 PowerPoint 演示文稿中的表格。
// 負載演示
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// 訪問第一張幻燈片
ISlide sld = pres.Slides[0];
// 初始化空 TableEx
ITable tbl = null;
// 遍歷形狀並設置對找到的表格的引用
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// 設置第二行第一列的文本
tbl[0, 1].TextFrame.Text = "New";
//將 PPTX 寫入磁盤
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
使用 C# 格式化 PowerPoint 表格中的文本
Aspose.Slides for .NET 還允許您非常輕鬆地設置表格的格式,如下面的步驟所示。
- 首先,使用 Presentation 類加載現有演示文稿。
- 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
- 從幻燈片中檢索所需表格的引用到 ITable 對像中。
- 使用 PortionFormat、ParagraphFormat 和 TextFrameFormat 類設置格式。
- 使用 ITable.setTextFormat() 方法為表格指定格式。
- 最後,使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
下面的代碼示例演示如何使用 C# 在 PowerPoint 中設置表格的格式。
// 創建或加載演示文稿
Presentation presentation = new Presentation();
// 獲取幻燈片的參考
ISlide slide = presentation.Slides[0];
// 獲取表的引用
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// 設置表格單元格的字體高度
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// 在一次調用中設置表格單元格的文本對齊方式和右邊距
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// 設置表格單元格的文本垂直類型
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// 保存演示文稿
presentation.Save("result.pptx", SaveFormat.Pptx);
使用 C# 在 PowerPoint 中鎖定表格的縱橫比
您還可以使用 C# 鎖定 PowerPoint 演示文稿中表格的縱橫比。以下是實現此目的的步驟。
- 首先,使用 Presentation 類加載現有演示文稿。
- 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
- 創建表或將現有表的引用檢索到 ITable 對像中。
- 將 ITable.ShapeLock.AspectRatioLocked 屬性設置為 !ITable.ShapeLock.AspectRatioLocked 以鎖定縱橫比。
- 最後,使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
下面的代碼示例演示如何在 PowerPoint 演示文稿中鎖定表格的縱橫比。
// 負載演示
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 獲取表的引用
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"鎖定縱橫比 set: {table.ShapeLock.AspectRatioLocked}");
// 鎖定縱橫比
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"鎖定縱橫比 set: {table.ShapeLock.AspectRatioLocked}");
// 保存演示文稿
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
獲取免費的 API 許可證
通過獲得免費的臨時許可,您可以不受評估限制地使用 Aspose.Slides for .NET。
結論
在本文中,您了解瞭如何使用 C# 在 PowerPoint 演示文稿中創建表格。此外,您還了解瞭如何以編程方式訪問和操作 PowerPoint 演示文稿中的現有表格。此外,您可以訪問 文檔 來探索更多關於 Aspose.Slides for .NET 的信息。此外,您可以通過我們的 論壇 提問。