Home » Python » xlwingsの使い方 » Pythonで別のブックにシートをコピー(複製)するには?-xlwings.Sheet.copy()メソッド

Pythonで別のブックにシートをコピー(複製)するには?-xlwings.Sheet.copy()メソッド

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2106 ビルド14131.20332 Microsoft Store)+ Python 3.8.3 + xlwings 0.24.5

Pythonを使ってExcelのワークシートを別のブックにコピー(複製)したいというニーズは、結構あるようです。このサイトへも、
「python excel シート コピー 別ブック」
「python エクセルシートを別ブックにコピーする」
といった検索キーワードでアクセスがあります。

v0.22.0以降のxlwingsなら、Sheet.copy()メソッドを使って、別のブックへのシートコピー(複製)ができます。

xlwingsを使ってシートを別ブックに複製するサンプル

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

import xlwings as xw

bk_a = xw.Book(r'C:\temp\sample_A.xlsx')
bk_z = xw.Book(r'C:\temp\sample_Z.xlsx')

bk_a.sheets[0].copy(before=bk_z.sheets[0])

コピー元sample_A.xlsxブックの先頭シートが、

bk_a.sheets[0].copy(before=bk_z.sheets[0])

コピー先sample_Z.xlsxブックの先頭シートの前に複製されます。

bk_a.sheets[0].copy(before=bk_z.sheets[0])

OpenPyXLでダメならxlwingsを試しては

ExcelをPythonで自動化を図る場合に、openpyxlではダメだったというケースが少なくないだろうと私は想像しています。openpyxlはExcelを直接操作するわけではなく、Excel等で作られたファイルを操作するライブラリに過ぎないためです。

openpyxlでできることはかなり限定されますから、特にExcel VBAの経験がある場合には、xlwingsを試すほうがイイだろうと考えています。

最終更新日時:2023-10-13 11:49

[スポンサードリンク]

Home » Python » xlwingsの使い方 » Pythonで別のブックにシートをコピー(複製)するには?-xlwings.Sheet.copy()メソッド

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

検索


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

.