「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-21 14:04
Home » Python » xlwingsの使い方 » xlwingsでセルの表示形式を取得する-Range.number_format
TrackBack:0
- TrackBack URL