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を試すほうがイイだろうと考えています。

最終更新日時:2021-08-05 06:05

[スポンサードリンク]

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

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

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

.