0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでExcelワークシート内のテーブルを作成、修正、削除する方法

Posted at

データ分析や自動化処理の作業において、Excelは非常に強力なツールとして広く利用されています。Pythonを使用してExcelワークシート内のテーブルを操作することで、作業効率を大幅に向上させることができます。テーブル(Table)はExcelにおける重要な構造の1つで、特別なセル範囲として機能し、データの整理や表示を助けるだけでなく、便利なデータのフィルタリング、並べ替え、分析機能を提供します。Pythonを活用することで、Excelワークシート内で簡単にテーブルを作成、修正、または削除でき、バッチ処理、動的更新、およびカスタムレポートの自動生成を実現できます。本記事では、Pythonを使ったExcelワークシート内のテーブルの作成、修正、および削除方法について解説します。

この記事で紹介する方法には、Spire.XLS for Pythonライブラリを使用します。PyPIで以下のコマンドを実行してインストールしてください:
pip install spire.xls

無料ライセンスの申請はこちら


PythonでExcelワークシート内にテーブルを作成する

Worksheet.ListObjects.Create(string: tableName, CellRange: cellRange)メソッドを使用することで、テーブル名とセル範囲を指定して、Excelワークシート内に直接テーブルを作成できます。以下の手順で操作を行います:

  1. 必要なモジュールをインポートします:WorkbookおよびTableBuiltInStyles(内蔵テーブルスタイルを適用するため)。
  2. Workbookクラスのインスタンスを作成します。
  3. Workbook.LoadFromFile()メソッドを使用して、Excelファイルを読み込みます。
  4. Workbook.Worksheets.get_Item()メソッドを使用して、指定のワークシートを取得します。
  5. Worksheet.Range.get_Item()メソッドを使用して、テーブル作成用のセル範囲を取得します。
  6. Worksheet.ListObjects.Create(string: tableName, CellRange: cellRange)メソッドを使用して、テーブルを作成します。
  7. 必要に応じてテーブルのフォーマットを設定します。
  8. Workbook.SaveToFile()メソッドを使用して変更を保存します。
  9. リソースを解放します。

コード例

from spire.xls import Workbook, TableBuiltInStyles

# Workbookのインスタンスを作成
workbook = Workbook()

# Excelファイルをロード
workbook.LoadFromFile("Sample.xlsx")

# ワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# テーブルのセル範囲を取得
cellRange = sheet.Range.get_Item("A1:E6")

# テーブルを作成
table = sheet.ListObjects.Create("Table1", cellRange)

# テーブルをフォーマット
table.BuiltInTableStyle = TableBuiltInStyles.TableStyleLight17

# ワークブックを保存
workbook.SaveToFile("output/CreateTableExcel.xlsx")
workbook.Dispose()

結果
PythonでExcelワークシート内にテーブルを作成


PythonでExcelワークシート内のテーブルを修正する

Worksheet.ListObjects.get_Item()メソッドを使用して、インデックスを基にワークシート内のテーブルオブジェクトを取得し、そのプロパティを利用して修正を行います。たとえば、テーブルのセル範囲、ヘッダーの表示設定、テーブル名などを変更できます。以下の手順で操作を行います:

  1. 必要なモジュールをインポートします:WorkbookおよびTableBuiltInStyles(内蔵テーブルスタイルを変更するため)。
  2. Workbookクラスのインスタンスを作成します。
  3. Workbook.LoadFromFile()メソッドを使用して、Excelファイルを読み込みます。
  4. Workbook.Worksheets.get_Item()メソッドを使用して、指定のワークシートを取得します。
  5. Worksheet.ListObjects.get_Item()メソッドを使用して、ワークシート内のテーブルを取得します。
  6. テーブルのプロパティを使用して、必要な修正を行います。
  7. Workbook.SaveToFile()メソッドを使用して変更を保存します。
  8. リソースを解放します。

コード例

from spire.xls import Workbook, TableBuiltInStyles

# Workbookのインスタンスを作成
workbook = Workbook()

# Excelファイルをロード
workbook.LoadFromFile("output/CreateTableExcel.xlsx")

# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# 最初のテーブルを取得
table = sheet.ListObjects.get_Item(0)

# IListObjectクラスのプロパティを使ってテーブルを変更
table.Location = sheet.Range.get_Item("A1:C6")
table.DisplayHeaderRow = False
table.BuiltInTableStyle = TableBuiltInStyles.TableStyleDark5
table.Name = "NewTable"

# ワークブックを保存
workbook.SaveToFile("output/ModifyTableExcel.xlsx")
workbook.Dispose()

結果
PythonでExcelワークシート内のテーブルを修正


PythonでExcelワークシート内のテーブルを削除する

Worksheet.ListObjects.RemoveAt()メソッドを使用すると、インデックスを指定してExcelワークシート内のテーブルを削除できます。この操作によって、テーブルは通常のセル範囲に変換され、テーブルのフォーマットも削除されます。以下の手順で操作を行います:

  1. 必要なモジュールをインポートします:Workbook
  2. Workbookクラスのインスタンスを作成します。
  3. Workbook.LoadFromFile()メソッドを使用して、Excelファイルを読み込みます。
  4. Worksheet.ListObjects.RemoveAt()メソッドを使用して、インデックスを指定してテーブルを削除します。
  5. Workbook.SaveToFile()メソッドを使用して変更を保存します。
  6. リソースを解放します。

コード例

from spire.xls import Workbook, TableBuiltInStyles

# Workbookのインスタンスを作成
workbook = Workbook()

# Excelファイルをロード
workbook.LoadFromFile("output/CreateTableExcel.xlsx")

# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# ワークシートからテーブルを削除
sheet.ListObjects.RemoveAt(0)

# ワークブックを保存
workbook.SaveToFile("output/RemoveTableExcel.xlsx")
workbook.Dispose()

結果
PythonでExcelワークシート内のテーブルを削除


この記事では、Pythonを使ってExcelワークシート内のテーブルを作成、修正、および削除する方法について説明しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?