「excel rangeオブジェクト 表示形式 python」
という検索キーワードをきっかけにして、xlwingsでセルの表示形式を取得するコードをご紹介しました。
Rangeという名前のオブジェクトは存在しませんけれど、OpenPyXLの場合も確認しておきましょう。
OpenPyXLでセルの表示形式を取得するスクリプト
以下のスクリプトを実行すると、Cドライブtempフォルダーのfoo.xlsxのA1セルの表示形式が出力されます。
bk = openpyxl.load_workbook(r'C:\temp\foo.xlsx')
ws = bk.worksheets[0]
cell_a1 = ws['A1']
OpenPyXLでセルを表すオブジェクトはCell
まず確認しておきたいのは、OpenPyXLの場合はセルを表すオブジェクトは、RangeではなくCellオブジェクトです。
「excel rangeオブジェクト 表示形式 python」
と検索なさった方は、Excel VBAをご存知ではないかと思うのですが、OpenPyXLのオブジェクトモデルは、Excel VBAとはまったく違うことは知っておいてください。
OpenPyXLのnumber_formatはExcel VBAのNumberFormatLocalとは違う
セルの表示形式は、上記のコードどおりCell.number_format属性で取得できます。
ただしnumber_formatで取得できるのは、Excel VBAのNumberFormatLocalとは異なる文字列です。
上記のコードを実行したときにA1セルが「G/標準」のときに、「General」が出力されます。
最終更新日時:2023-01-12 16:36
Home » Python » OpenPyXLの使い方 » OpenPyXLでセルの表示形式を取得する-Cell.number_format属性