Home » Python » OpenPyXLの使い方 » OpenPyXLでシートをコピー(複製)する-Workbook.copy_worksheet()メソッド

OpenPyXLでシートをコピー(複製)する-Workbook.copy_worksheet()メソッド

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

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

OpenPyXLを使って、Excelのシートをコピー(複製)したいということでしょうか。

OpenPyXLでシートをコピー(複製)するサンプル

Cドライブのtempフォルダーにfoo.xlsxファイルを用意しておいてから、以下のスクリプトを実行してみてください。

import openpyxl

bk = openpyxl.load_workbook(r'C:\temp\foo.xlsx')

ws = bk.worksheets[0]
bk.copy_worksheet(ws)

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

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クラスに用意されているなど、かなり異なると感じます。

最終更新日時:2023-05-23 04:16

[スポンサードリンク]

Home » Python » OpenPyXLの使い方 » OpenPyXLでシートをコピー(複製)する-Workbook.copy_worksheet()メソッド

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

検索


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

.