「python openpyxl シート 最後 追加」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
Workbook.create_sheet()は引数省略で最後に作成
OpenPyXLを使ってワークシートを追加するには、Workbookオブジェクトに用意されているcreate_sheet()メソッドを使用します。
このWorkbook.create_sheet()メソッドは、引数indexを省略した場合、末尾・最後・一番右にワークシートを作成します。
最後を明示してシートを追加するサンプル
最後に追加することを明らかにしたい場合に、あえて引数indexを指定するのもありでしょう。
以下のようなスクリプトで、Cドライブtempフォルダーのorg.xlsxの最後・末尾・右端に新しいワークシート「NewSheet」が追加され、new.xlsxとして保存されます。
bk = openpyxl.load_workbook(r'C:\temp\org.xlsx')
bk.create_sheet(title='NewSheet', index=len(bk.sheetnames))
サンプルで行っている処理
Workbook.sheetnames属性を使うと、ブックに含まれる全シート名のリストを取得できます。
取得したシート名のリストの要素数をPython標準のlen関数で取得して、Workbook.create_sheetメソッドの、引数indexに指定しています。
ブック内にグラフシートが存在せずワークシートだけならば、「bk.sheetnames」の部分を
bk.create_sheet(title='NewSheet', index=len(bk.sheetnames))
Workbook.worksheets属性を使ったコードにしても
bk.create_sheet(title='NewSheet', index=len(bk.worksheets))
同じ結果になります。
最終更新日時:2023-05-23 08:55
- Newer:VBAでウィンドウ枠の固定位置を調べる-SplitRow・SplitColumn
- Older:INT関数で切り上げを
Home » Python » OpenPyXLの使い方 » OpenPyXLでブックの最後にワークシートを追加する