Home » Python » xlwings » xlwingsでセルの表示形式は?

xlwingsでセルの表示形式は?

動作検証バージョン:Windows 10 + Python 3.7.3 + xlwings 0.15.5 + Excel 1907

「excel rangeオブジェクト 表示形式 python」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

Pythonで何らかのライブラリを使って、セルの表示形式を操作するには、どのようなコードを書けばいいのかを探していた方による検索でしょう。

[スポンサードリンク]

「excel rangeオブジェクト 表示形式 python」
という検索キーワードだけでは、どのライブラリでのコードを求めていたのかがわかりませんので、「Range」という名前のオブジェクトが存在するxlwingsの例を、この記事ではご紹介します。

xlwingsでセルの表示形式を取得するサンプル

以下のようなスクリプトで、Cドライブtempフォルダーに存在するfoo.xlsxファイルの、先頭シートA1セルの表示形式が出力されます。


import xlwings

bk = xlwings.Book('C:\\temp\\foo.xlsx')
sht = bk.sheets[0]
rng = sht.range('A1')
print(rng.number_format)

xlwingsでは、Range.number_formatで、セルの表示形式を取得・設定できます。

number_formatはNumberFormatLocalに相当

Excel VBAからセルの表示形式を取得・設定するコードをご存知の方だと、xlwingsのRange.number_formatが、Excel VBAのRange.NumberFormatLocalとRange.NumberFormatのどちらだろうか、と疑問を感じるはずです(感じてください)。

上記のSubプロシージャを実行したときに、A1セルが「G/標準」であれば「G/標準」と出力されるので、xlwingsのRange.number_formatは、Excel VBAのRange.NumberFormatLocalプロパティをラップしているようです。

NumberFormatLocalプロパティのほうがNumberFormatよりメリットが大きいと私は感じているので、納得の結果です。

最終更新日時:2019-08-14 17:36

[スポンサードリンク]

Home » Python » xlwings » xlwingsでセルの表示形式は?

TrackBack:0

TrackBack URL

Home » Python » xlwings » xlwingsでセルの表示形式は?

「xlwings」の記事一覧

検索


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

.