「python openpyxl シートの複写」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
OpenPyXLを使って、Excelのシートをコピー(複製)したいということでしょうか。
OpenPyXLでシートをコピー(複製)するサンプル
Cドライブのtempフォルダーにfoo.xlsxファイルを用意しておいてから、以下のスクリプトを実行してみてください。
bk = openpyxl.load_workbook(r'C:\temp\foo.xlsx')
ws = bk.worksheets[0]
bk.copy_worksheet(ws)
C:\temp\foo.xlsxブックの先頭シートがブックの末尾に複製され、新たなfoo_new.xlsxとして保存されます。
Workbook.copy_worksheet()メソッドでシートをコピー(複製)できる
Workbook.copy_worksheet()メソッドを使えばシートを、同じブックの最後(右端)に複製できます。
Workbook.copy_worksheetメソッドは、引数に元のWorksheetを指定する必要があるため、上記のスクリプトではWorkbook.worksheets[0]で、先頭のシートを取得しています。
Excel VBAの場合はWorksheet.Copyメソッド
Excel VBAの場合、Worksheetオブジェクトに用意されているCopyメソッドは複製先を引数BeforeまたはAfterで指定し、引数を指定しない場合には新規ブックにシートが複製されます。
これに対しこの記事でご紹介しているcopy_worksheetメソッドは、別のブックに複製できない点や、Workbookクラスに用意されているなど、かなり異なると感じます。
- Pythonで別のブックにシートをコピー(複製)するには?-xlwings.Sheet.copy()メソッド
- pywin32・win32com.clientでも別のブックにシートをコピー(複製)できる
- 『Excel VBAユーザーのためのOpenPyXL入門:Pythonの定番ライブラリの特徴をちゃんと知ろう』を出しました。
最終更新日時:2023-05-23 04:16
- Newer:Pythonで日付をYYYYMMDD形式の8桁で
- Older:ValidationのErrorMessageを設定する
Home » Python » OpenPyXLの使い方 » OpenPyXLでシートをコピー(複製)する-Workbook.copy_worksheet()メソッド