Home » Python » OpenPyXLでシートをコピー(複製)する

OpenPyXLでシートをコピー(複製)する

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

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

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

[スポンサードリンク]

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

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


import openpyxl
wb = openpyxl.load_workbook('C:\\temp\\foo.xlsx')
ws = wb.worksheets[0]
wb.copy_worksheet(ws)
wb.save('C:\\temp\\foo2.xlsx')

C:\temp\foo.xlsxブックの先頭シートがブックの末尾に複製され、新たなfoo2.xlsxとして保存されます。

copy_worksheet()メソッドでシートをコピー(複製)できる

copy_worksheet()メソッドを使えばシートを、同じブックの最後(右端)に複製できます。

copy_worksheet()メソッドは、元のワークシートを指定する必要があるため、上記のスクリプトではworksheets[0]で、先頭のシートを取得しています。

Excel VBAの場合はWorksheet.Copyメソッド

Excel VBAの場合、Worksheetオブジェクトに用意されているCopyメソッドは複製先を引数BeforeまたはAfterで指定し、引数を指定しない場合には新規ブックにシートが複製されます。

これに対しこの記事でご紹介しているcopy_worksheet()メソッドは、別のブックに複製はできない点や、そもそもWorkbookクラスに用意されているなど、かなり異なると感じます。

最終更新日時:2019-04-22 17:28

[スポンサードリンク]

Home » Python » OpenPyXLでシートをコピー(複製)する

TrackBack:0

TrackBack URL

Home » Python » OpenPyXLでシートをコピー(複製)する

「Python」の記事一覧

検索


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

.