動作検証バージョン:Windows 10 + Python 3.7.3 + xlwings 0.15.5 + Excel 1903
OpenPyXLでブックを新規に作成した場合、「Sheet」という名前のワークシートが作成されることを記事にしました。
PythonからExcelを操作する外部ライブラリー「xlwings」の場合どうなのか気になり、確認してみました(Sheetという名前にならないだろうと思いつつ)。
[スポンサードリンク]
Book()関数でブックを作成した場合
xlwingsのBook()関数でブックを作成する以下のようなコードを実行してみました。
import xlwings
wb = xlwings.Book()
wb.save(r'C:\temp\hoge.xlsx')
wb = xlwings.Book()
wb.save(r'C:\temp\hoge.xlsx')
Cドライブtempフォルダー下のhoge.xlsxを開くと、シート名は「Sheet1」で、VBEのプロジェクトエクスプローラー・プロパティウィンドウでオブジェクト名を確認しても「Sheet1」です。
OpenPyXLと違ってxlwingsは、Excel自体をPythonから動かすライブラリーですから、当然の挙動です。
Books.add()でブックを作成した場合
Excel VBA的なBooks.add()メソッドで新規ブックを作成する、以下のようなコードも実行してみました。
import xlwings
wb = xlwings.books.add()
wb.save(r'C:\temp\hoge2.xlsx')
wb = xlwings.books.add()
wb.save(r'C:\temp\hoge2.xlsx')
結果は同じです。
新規ブックのシート枚数はExcelの影響を受ける
Excelの設定から影響を受けるのだろうと考え、[Excelのオプション]ダイアログで、[ブックのシート数]を「3」に変更しておいてから、
上述のコードを実行すると、予想通りシートが3枚の新規ブックが作られます。
最終更新日時:2023-05-22 17:38
[スポンサードリンク]
Home » Python » xlwingsの使い方 » xlwingsで新規ブックを作成した場合のシート名・オブジェクト名・シート枚数は