Home » Python » OpenPyXLの使い方 » OpenPyXLでブックの最後にワークシートを追加する

OpenPyXLでブックの最後にワークシートを追加する

動作検証バージョン:Windows 10 + Python 3.7.3 + OpenPyXL 2.6.2

「python openpyxl シート 最後 追加」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

Workbook.create_sheet()は引数省略で最後に作成

OpenPyXLを使ってワークシートを追加するには、Workbookオブジェクトに用意されているcreate_sheet()メソッドを使用します。

このWorkbook.create_sheet()メソッドは、引数indexを省略した場合、末尾・最後・一番右にワークシートを作成します。

最後を明示してシートを追加するサンプル

最後に追加することを明らかにしたい場合に、あえて引数indexを指定するのもありでしょう。

以下のようなスクリプトで、Cドライブtempフォルダーのorg.xlsxの最後・末尾・右端に新しいワークシート「NewSheet」が追加され、new.xlsxとして保存されます。

import openpyxl

bk = openpyxl.load_workbook(r'C:\temp\org.xlsx')
bk.create_sheet(title='NewSheet', index=len(bk.sheetnames))

bk.save(r'C:\temp\new.xlsx')

サンプルで行っている処理

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

[スポンサードリンク]

Home » Python » OpenPyXLの使い方 » OpenPyXLでブックの最後にワークシートを追加する

「OpenPyXLの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.