チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Presentation for Python»»Python で PowerPoint ファイルの表を作成・編集する方法
2026-08-14

Python で PowerPoint ファイルの表を作成・編集する方法

テーブル(表) は、データを行と列で整理して提示する構造化された方法です。通常、水平方向の行と垂直方向の列で構成され、それぞれの交点にはテキスト、数値、その他の種類のデータを格納できます。プレゼンテーションにテーブルを挿入することで、スライド上に構造化されたデータを作成または表示し、コンテンツをより整理された状態にできます。さらに、テキスト形式と比較して、表形式のデータはデータ間の違いをより直感的に示すことができ、読者の理解を助けるため、プレゼンテーションのプロフェッショナリズムと読みやすさが向上します。

Spire.Presentation for Python を使用すると、開発者は数行のコードで PowerPoint プレゼンテーションのテーブルを作成・編集できます。本記事では、テーブルの挿入と、既存テーブルの編集方法を紹介します。

クイックナビゲーション

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()

Python で PowerPoint プレゼンテーションにテーブルを挿入

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()

Python で PowerPoint プレゼンテーションのテーブルを編集

まとめ

本記事では、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()

Read 5 times