Home » Python » OpenPyXLの使い方 » OpenPyXLでセルの表示形式を取得する-Cell.number_format属性

OpenPyXLでセルの表示形式を取得する-Cell.number_format属性

動作検証バージョン:Windows 10 + Python 3.7.3 + OpenPyXL 2.6.2

「excel rangeオブジェクト 表示形式 python」
という検索キーワードをきっかけにして、xlwingsでセルの表示形式を取得するコードをご紹介しました。

Rangeという名前のオブジェクトは存在しませんけれど、OpenPyXLの場合も確認しておきましょう。

[スポンサードリンク]

OpenPyXLでセルの表示形式を取得するスクリプト

以下のスクリプトを実行すると、Cドライブtempフォルダーのfoo.xlsxのA1セルの表示形式が出力されます。

import openpyxl

bk = openpyxl.load_workbook(r'C:\temp\foo.xlsx')
ws = bk.worksheets[0]
cell_a1 = ws['A1']

print(cell_a1.number_format)

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属性

「OpenPyXLの使い方」の記事一覧

検索


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

.