OpenPyXL Pythonでエクセル操作 – シート名の取得変更

OpenPyXL

OpenPyXLを使って、シート名の取得変更を行います。

import openpyxl

# ワークブック新規作成
wb = openpyxl.Workbook()

# シートを5個追加する
for i in range(5):
    wb.create_sheet()

#シート名を取得し変更する
i = 0
for sh in wb:
    #シート名を出力
    print(sh.title)
    #シート名を変更する、名前は sh0/sh1/sh2/sh3/sh4/sh5
    sh.title = "sh" + str(i)
    i = i + 1

wb.save("file.xlsx")

# ワークブックを閉じる
wb.close()

プログラムのコードを最初から見ていきます。

import openpyxl

openpyxlをインポートします。これをしないとopenpyxlのモジュールが使えません。

# ワークブック新規作成
wb = openpyxl.Workbook()

openpyxlモジュールの、Workbook()関数を使い、新規のエクセルファイルを作成します。

新規のエクセルファイル作成と同時にシート名が”Sheet”が自動で作成されます。

# シートを5個追加する
for i in range(5):
    wb.create_sheet()

まずは、シートを5個追加します。

シートの追加については、下記記事を参考にしてください。

#シート名を取得し変更する
i = 0
for sh in wb:
    #シート名を出力
    print(sh.title)
    #シート名を変更する、名前は sh0/sh1/sh2/sh3/sh4/sh5
    sh.title = "sh" + str(i)
    i = i + 1

シート名をsh0/sh1/sh2/sh3/sh4/sh5としたいので、i = 0で番号ようの変数を準備する。

for sh in wb:とする事で、エクセルBookをオブジェクトとするwbをfor分で繰り返すと、各シートのオブジェクトshを取得する事ができる。

print(sh.title)とする事でシート名が出力される。

shがシートのオブジェクトになるため、sh.titleがシート名となり、変数のため sh.title = “sh” + str(i) として名前を変更できる

作成されたシートは下記のようになる。

OpenPyXLの他の関数の使い方について知りたい場合は下記記事が非常に参考になります。

タイトルとURLをコピーしました