ここでは、「OpenPyXL」におけるExcelのシート操作全般について初学者向けに解説しています。
この記事の対象
「OpenPyXL」のインストール方法についてはこちらをご参照下さい。
>>>OpenPyXLでとりあえず抑えておきたい操作-概要-
シート作成
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
wb.save('test.xlsx')
Workbookをアクティブにして、「Title」というシートを作成しています。
【結果】
シートの追加
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
wb.create_sheet()
wb.save('test.xlsx')
シートの追加は「.creat_sheet()」を用いることで簡単に追加できます。この「.creat_sheet()」に引数の「index」「title」を指定してあげれば、任意の位置に任意の名前のシートを挿入できます。
【結果】
任意の位置へのシート挿入
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
wb.create_sheet(index=0, title="insert")
wb.save('test.xlsx')
任意の位置へのシート挿入は前述の通り「.create_sheet(index=***, title=”***”)」になります。indexが位置の指定になり、数値(int)で指定してあげる必要があります。注意点としては0始まりになります。titleはシート名を指定できます。
【結果】
シートの色設定
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
ws.sheet_properties.tabColor = "000000"
wb.save('test.xlsx')
シートの色設定には「.sheet_properties.tabColor」を用いることで設定できます。Colorコードを指定することで、任意の色設定が可能です。
【結果】
シート名の取得
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
ws.sheet_properties.tabColor = "000000"
wb.create_sheet(index=0, title="insert1")
wb.create_sheet(title="insert2")
wb.save('test.xlsx')
print(wb.sheetnames)
シート名の取得は「.sheetnames」で簡単に取得できます。シート数(名)で何か処理を行いたい時などに「enumerate」関数と組み合わせて使用すると便利です。
【結果】
['insert1', 'Title', 'insert2']