OpenPyXL Pythonでエクセル操作 – シートの追加方法

OpenPyXL

OpenPyXLを使って、シートの追加を行います。

import openpyxl

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

# シートを追加する(名前も場所も指定しない)
wb.create_sheet()       # ①自動で、Sheet1の名前になる
wb.create_sheet()       # ②自動で、Sheet2の名前になる

# ③シートの名前を指定して追加する
wb.create_sheet( title="追加シート1" )

# ④シートの名前と場所を指定して追加、index=0は一番左に追加となる
wb.create_sheet( index=0,title="一番左シート" )

# ⑤シートを名前を指定して、一番右から2個目に追加する
wb.create_sheet( index=-1,title="右から2個目シート" )

# ⑥シートを名前を指定して、一番右から3個目に追加する
wb.create_sheet( index=-2,title="右から3個目シート" )

wb.save("file.xlsx")

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

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

import openpyxl

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

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

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

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

# シートを追加する(名前も場所も指定しない)
wb.create_sheet()       # ①自動で、Sheet1の名前になる
wb.create_sheet()       # ②自動で、Sheet2の名前になる

create_sheet()関数を使いシートを追加します。( )の中に何も指定しないと、一番右に自動で名前が振られ追加されます。

# ③シートの名前を指定して追加する
wb.create_sheet( title="追加シート1" )

create_sheet()関数の( )の中、title=”追加シート1″とする事で、シートの名前を指定して追加できます。場所をしていないと、必ず一番右に追加されます。

# ④シートの名前と場所を指定して追加、index=0は一番左に追加となる
wb.create_sheet( index=0,title="一番左シート" )

create_sheet()関数の( )の中で、index=0とする事で、追加するシートの場所を指定できます。0の場合は一番左に追加されます。

# ⑤シートを名前を指定して、一番右から2個目に追加する
wb.create_sheet( index=-1,title="右から2個目シート" )

# ⑥シートを名前を指定して、一番右から3個目に追加する
wb.create_sheet( index=-2,title="右から3個目シート" )

create_sheet()関数の( )の中で、index=-1とする事で、一番右から1つ目という形で指定できます。-1なら一番右から1つ目、-2なら一番右から2つ目となります。

以上となります。

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

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