テーブル(表) は、データを行と列で整理して提示する構造化された方法です。通常、水平方向の行と垂直方向の列で構成され、それぞれの交点にはテキスト、数値、その他の種類のデータを格納できます。プレゼンテーションにテーブルを挿入することで、スライド上に構造化されたデータを作成または表示し、コンテンツをより整理された状態にできます。さらに、テキスト形式と比較して、表形式のデータはデータ間の違いをより直感的に示すことができ、読者の理解を助けるため、プレゼンテーションのプロフェッショナリズムと読みやすさが向上します。
Spire.Presentation for Python を使用すると、開発者は数行のコードで PowerPoint プレゼンテーションのテーブルを作成・編集できます。本記事では、テーブルの挿入と、既存テーブルの編集方法を紹介します。
クイックナビゲーション
- Spire.Presentation for Python のインストール
- Python で PowerPoint プレゼンテーションにテーブルを挿入
- Python で PowerPoint プレゼンテーションのテーブルを編集
- まとめ
- FAQ
1. Spire.Presentation for Python のインストール
このシナリオには Spire.Presentation for Python と plum-dispatch v1.7.4 が必要です。pip を介してインストールします。
pip install Spire.Presentation
Python スクリプトで必要なモジュールをインポートします。
from spire.presentation.common import *
from spire.presentation import *
または、Spire.Presentation for Python のダウンロードページ から手動でライブラリをインストールすることもできます。
2. Python で PowerPoint プレゼンテーションにテーブルを挿入
Spire.Presentation for Python は、Presentation.Slides[].Shapes.AppendTable(x: float, y: float, widths: List[float], heights: List[float]) メソッドを提供しており、PowerPoint プレゼンテーションにテーブルを追加できます。次の例では、テーブルの寸法を定義し、二次元配列のデータで各セルを埋め、フォント名とフォントサイズを設定し、最初の行を中央揃えにした後、組み込みスタイルを適用する方法を示します。
from spire.presentation.common import *
import math
from spire.presentation import *
outputFile = "CreateTable.pptx"
# Presentation クラスのオブジェクトを作成
presentation = Presentation()
# 最初のスライドを取得する
slide = presentation.Slides[0]
# テーブルの寸法を定義
widths = [100, 100, 150, 100, 100]
heights = [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]
# このプレゼンテーションに新しいテーブルを追加
left = math.trunc(presentation.SlideSize.Size.Width / float(2)) - 275
table = slide.Shapes.AppendTable(left, 90, widths, heights)
# テーブルのデータを二次元の文字列配列として定義
dataStr = [["国名", "首都", "大陸", "面積", "人口"],
["日本", "東京", "アジア", "377975", "125700000"],
["中国", "北京", "アジア", "9596960", "1412000000"],
["韓国", "ソウル", "アジア", "100363", "51780000"],
["イギリス", "ロンドン", "ヨーロッパ", "243610", "67330000"],
["フランス", "パリ", "ヨーロッパ", "643801", "67810000"],
["イタリア", "ローマ", "ヨーロッパ", "301338", "59070000"],
["ロシア", "モスクワ", "ヨーロッパ", "17098246", "146700000"],
["スペイン", "マドリード", "ヨーロッパ", "505990", "47330000"],
["アメリカ合衆国", "ワシントンD.C.", "北アメリカ", "9833517", "331900000"],
["カナダ", "オタワ", "北アメリカ", "9984670", "38250000"],
["ブラジル", "ブラジリア", "南アメリカ", "8515767", "214300000"],
["オーストラリア", "キャンベラ", "オセアニア", "7692024", "25700000"]]
# 配列をループ処理
for i in range(0, 13):
for j in range(0, 5):
# 各セルをこれらのデータで埋める
table[j,i].TextFrame.Text = dataStr[i][j]
# フォント名とフォントサイズを設定
table[j,i].TextFrame.Paragraphs[0].TextRanges[0].LatinFont = TextFont("Yu Mincho")
table[j,i].TextFrame.Paragraphs[0].TextRanges[0].FontHeight = 12
# テーブルの最初の行の配置を中央揃えに設定
for i in range(0, 5):
table[i,0].TextFrame.Paragraphs[0].Alignment = TextAlignmentType.Center
# テーブルにスタイルを適用
table.StylePreset = TableStylePreset.LightStyle3Accent1
# 結果のファイルを保存
presentation.SaveToFile(outputFile, FileFormat.Pptx2010)
presentation.Dispose()

3. Python で PowerPoint プレゼンテーションのテーブルを編集
プレゼンテーション内のテーブルは、必要に応じて編集することもできます。たとえば、データの置換、スタイルの変更、データのハイライト表示などです。次の例では、テーブルを検索してスタイルを変更し、特定のセル範囲のデータを置き換えてハイライト表示する方法を示します。
from spire.presentation.common import *
from spire.presentation import *
inputFile = "CreateTable.pptx"
outputFile = "EditTable.pptx"
# Presentation クラスのオブジェクトを作成
presentation = Presentation()
# サンプルプレゼンテーションをディスクから読み込む
presentation.LoadFromFile(inputFile)
# 置換に使用するデータを文字列に格納
strs = ["ドイツ", "ベルリン", "ヨーロッパ", "357588", "84110000"]
table = None
# 最初のスライドのシェイプをループ処理してテーブルを取得
for shape in presentation.Slides[0].Shapes:
if isinstance(shape, ITable):
table = shape
# テーブルのスタイルを変更
table.StylePreset = TableStylePreset.LightStyle1Accent2
for i, unusedItem in enumerate(table.ColumnsList):
# 特定のセル範囲のデータを置換
table[i,2].TextFrame.Text = strs[i]
# 新しいデータをハイライト表示
table[i,2].TextFrame.TextRange.HighlightColor.Color = Color.get_Yellow()
# 結果のファイルを保存
presentation.SaveToFile(outputFile, FileFormat.Pptx2013)
presentation.Dispose()

まとめ
本記事では、Spire.Presentation for Python を使用して Python で PowerPoint プレゼンテーションのテーブルを作成・編集する方法を実証しました。Presentation.Slides[].Shapes.AppendTable() メソッドでテーブルを作成し、ITable[columnIndex, rowIndex].TextFrame.Text プロパティでセルにデータを入力・置換できます。また、ITable.StylePreset プロパティでスタイルを変更し、ITable[columnIndex, rowIndex].TextFrame.TextRange.HighlightColor.Color プロパティでデータをハイライト表示できます。これらの機能は、レポートの自動生成、データ集計資料の作成、プレゼンテーションの一括編集などの自動化シナリオに役立ちます。
Spire.Presentation for Python の全機能を評価したい場合は、30 日間の無料ライセンスを申請できます。
5. FAQ
Microsoft PowerPoint をインストールせずにテーブルを作成・編集できますか?
はい。Spire.Presentation はスタンドアロンのライブラリであり、Microsoft Office や PowerPoint をインストールする必要はありません。
PowerPoint プレゼンテーションにテーブルを挿入するにはどうすればよいですか?
Presentation.Slides[].Shapes.AppendTable(x, y, widths, heights) メソッドでテーブルを追加し、ITable[columnIndex, rowIndex].TextFrame.Text プロパティで各セルにデータを設定します。
テーブルにスタイルを適用するにはどうすればよいですか?
ITable.StylePreset プロパティに TableStylePreset 列挙型の値を設定します。例: table.StylePreset = TableStylePreset.LightStyle3Accent1。
テーブルのセルデータを置き換えるにはどうすればよいですか?
ITable[columnIndex, rowIndex].TextFrame.Text プロパティで、対象のセルに新しい値を設定します。
テーブルのセルデータをハイライト表示できますか?
はい。ITable[columnIndex, rowIndex].TextFrame.TextRange.HighlightColor.Color プロパティに色を設定すると、セルのテキストをハイライト表示できます。例: table[i,2].TextFrame.TextRange.HighlightColor.Color = Color.get_Yellow()。






