表格通常用於以行和列的形式組織數據。它們使查看、理解和分析數據變得更加容易。在各種情況下,您必須在 PowerPoint 演示文稿中插入表格。為了以編程方式實現這一點,本文介紹瞭如何使用 Python 在 PowerPoint PPT 或 PPTX 中創建表格。此外,您將學習如何訪問、修改和格式化現有的 PowerPoint 表格。
- 用於創建和操作 PowerPoint 表格的 Python 庫
- 用 Python 在 PowerPoint PPT 中創建表格
- 在 PPTX 中編輯表格
- 在 PowerPoint 表格中設置文本格式
- 鎖定PPT表格的縱橫比
用於創建和操作 PowerPoint 表格的 Python 庫
Aspose.Slides for Python 提供了一系列功能來創建、操作和轉換 PowerPoint 和 OpenOffice 文檔。我們將使用這個庫在我們的 PowerPoint 演示文稿中創建、編輯和操作表格。您可以使用以下命令從 PyPI 安裝庫。
> pip install aspose.slides
使用 Python 在 PowerPoint PPT 中創建表格
以下是用 Python 在 PowerPoint PPT/PPTX 中創建表格的步驟。
- 首先,使用 Presentation 類加載或創建 PPT/PPTX 演示文稿。
- 然後,獲取要添加表格的所需幻燈片的參考。
- 之後,創建兩個數組分別定義列和行的寬度和高度。
- 使用 ISlide.shapes.addtable() 方法在幻燈片上插入一個新表格並獲取其引用。
- 啟動循環以遍歷表的行。
- 啟動嵌套循環以遍歷表格的單元格,並在每次迭代中執行以下操作。
- 使用 Table.rows[row][cell].textframe.text 屬性設置單元格的文本。
- 如果需要,設置單元格的邊框樣式。
- 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。
以下代碼示例顯示如何在 PowerPoint 演示文稿中創建表格。
import aspose.slides as slides
import aspose.pydrawing as drawing
# 創建一個新的演示文稿(加載現有的演示文稿,在構造函數中提供文件的路徑)
with slides.Presentation() as pres:
# 訪問第一張幻燈片
sld = pres.slides[0]
# 定義具有寬度的列和具有高度的行
dblCols = [50, 50, 50]
dblRows = [50, 30, 30, 30, 30]
# 將表格形狀添加到幻燈片
tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)
# 為每個單元格設置邊框格式
for row in range(len(tbl.rows)):
for cell in range(len(tbl.rows[row])):
# 添加文字
tbl.rows[row][cell].text_frame.text = "Cell_" + cell
# 設置邊框
tbl.rows[row][cell].cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_top.fill_format.solid_fill_color.color = drawing.Color.red
tbl.rows[row][cell].cell_format.border_top.width = 5
tbl.rows[row][cell].cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_bottom.fill_format.solid_fill_color.color= drawing.Color.red
tbl.rows[row][cell].cell_format.border_bottom.width =5
tbl.rows[row][cell].cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_left.fill_format.solid_fill_color.color =drawing.Color.red
tbl.rows[row][cell].cell_format.border_left.width = 5
tbl.rows[row][cell].cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_right.fill_format.solid_fill_color.color = drawing.Color.red
tbl.rows[row][cell].cell_format.border_right.width = 5
# 合併第 1 行的單元格 1 和 2
tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)
# 添加文字 to the merged cell
tbl.rows[0][0].text_frame.text = "Merged Cells"
# 將 PPTX 保存到磁盤
pres.save("table.pptx", slides.export.SaveFormat.PPTX)
以下屏幕截圖顯示了我們使用上述代碼創建的表。
使用 Python 在 PowerPoint PPT 中編輯表格
您還可以通過從演示幻燈片訪問現有表格來修改它。這是您可以訪問 PowerPoint 表格並在 Python 中編輯其內容或外觀的方法。
- 首先,使用 Presentation 類加載現有的 PowerPoint PPT/PPTX 文件。
- 然後,將所需幻燈片的引用獲取到一個對像中。
- 為表創建一個對象並用 None 初始化它。
- 使用 ISlide.shapes 集合遍歷幻燈片中的所有形狀。
- 過濾表格類型的形狀。
- 根據需要操作表格。
- 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。
下面的代碼示例展示瞭如何使用 Python 在 PowerPoint PPT 中編輯表格。
# 負載演示
with slides.Presentation("table.pptx") as pres:
# 訪問第一張幻燈片
sld = pres.slides[0]
# 初始化空 TableEx
tbl = None
# 遍歷形狀並設置對找到的表格的引用
for shp in sld.shapes:
if type(shp) is slides.Table:
tbl = shp
# 設置第二行第一列的文本
tbl.rows[0][1].text_frame.text = "New"
# 將 PPTX 保存到磁盤
pres.save("table1_out.pptx", slides.export.SaveFormat.PPTX)
在 Python 中格式化 PowerPoint 表格中的文本
Aspose.Slides for Python 還允許您將格式應用於表格內的文本。以下步驟顯示瞭如何實現這一目標。
- 首先,使用 Presentation 類加載現有演示文稿。
- 然後,將所需幻燈片的引用獲取到一個對像中。
- 從幻燈片中獲取所需表格的引用到對像中。
- 使用 PortionFormat、ParagraphFormat 和 TextFrameFormat 對象設置格式。
- 使用 Table.settextformat() 方法為表格指定格式。
- 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。
以下代碼示例演示如何使用 Python 在 PowerPoint 中設置表格內文本的格式。
import aspose.slides as slides
# 創建演示文稿
with slides.Presentation() as presentation:
# 添加表
someTable = presentation.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
# 設置表格單元格的字體高度
portionFormat = slides.PortionFormat()
portionFormat.font_height = 25
someTable.set_text_format(portionFormat)
# 在一次調用中設置表格單元格的文本對齊方式和右邊距
paragraphFormat = slides.ParagraphFormat()
paragraphFormat.alignment = slides.TextAlignment.RIGHT
paragraphFormat.margin_right = 20
someTable.set_text_format(paragraphFormat)
# 設置表格單元格的文本垂直類型
textFrameFormat = slides.TextFrameFormat()
textFrameFormat.text_vertical_type = slides.TextVerticalType.VERTICAL
someTable.set_text_format(textFrameFormat)
# 保存演示文稿
presentation.save("table-formatting.pptx", slides.export.SaveFormat.PPTX)
在 Python 中鎖定 PowerPoint 表格的縱橫比
您還可以使用 Python 鎖定 PowerPoint 演示文稿中表格的縱橫比,如以下步驟所示。
- 首先,使用 Presentation 類加載現有演示文稿。
- 然後,將所需幻燈片的引用獲取到一個對像中。
- 創建表或將現有表的引用檢索到對像中。
- 使用 Table.shapelock.aspectratiolocked 屬性鎖定縱橫比。
- 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。
下面的代碼示例演示如何在 PowerPoint PPTX 中鎖定表格的縱橫比。
import aspose.slides as slides
# 創建演示文稿
with slides.Presentation() as pres:
# 添加表格
table = pres.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
print("鎖定縱橫比 set: {0}".format(table.shape_lock.aspect_ratio_locked))
# 鎖定縱橫比
table.shape_lock.aspect_ratio_locked = not table.shape_lock.aspect_ratio_locked
print("鎖定縱橫比 set: {0}".format(table.shape_lock.aspect_ratio_locked))
# 保存演示文稿
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)
用於創建 PowerPoint 表格的 Python 庫 - 獲取免費許可證
通過獲得免費的臨時許可,您可以不受評估限制地使用 Aspose.Slides for Python。
結論
表格是文檔的組成部分,用於組織數據。在本文中,您了解瞭如何使用 Python 在 PowerPoint PPT 和 PPTX 中創建表格。此外,您還了解瞭如何以編程方式訪問和操作 PowerPoint 演示文稿中的現有表格。此外,您還可以訪問 文檔 來探索更多關於 Aspose.Slides for Python 的信息。此外,您可以通過我們的 論壇 提問。
也可以看看
- 在 Python 中創建 PowerPoint 文件
- 在 Python 中將 PPTX 轉換為 PDF
- 在 Python 中將 PPT 轉換為 PNG
- 用Python在PowerPoint PPT中添加水印
- 使用 Python 在 PowerPoint PPT 中應用 3D 效果
信息:使用 Aspose JPG 轉 PPT 或 PNG 轉 PPT 轉換器,您可以從簡單的圖像生成 PowerPoint 演示文稿。