Home » Python » OpenPyXLの使い方 » OpenPyXLのmax_row属性やmax_column属性は何を返すのか

OpenPyXLのmax_row属性やmax_column属性は何を返すのか

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

Excelファイルを操作するOpenPyXLについて書かれたPython入門書に、worksheet.max_row属性で最大行番号を、worksheet.max_column属性で最大列番号を取得できる、といったことがさらっと書かれていることが少なくありません。

max_row属性・max_column属性を確認するサンプル

これらWorksheetオブジェクトのmax_row属性・max_column属性で返される行番号・列番号が何なのか気になったので、以下のようなコードで確認しました。

import openpyxl

wb = openpyxl.load_workbook('C:\\temp\\foo.xlsx')
ws = wb.worksheets[0]

print(ws.max_row)
print(ws.max_column)

データが存在せず書式設定されているだけのセルが存在する場合

私が気になっていたのは、以下のようなワークシートの場合に、何を返すのかです。

データが入力されているのはC6セルまでですが、G10セルに書式が設定されています。

このようなワークシートで、max_rowは6行目の6と10行目の10のどちらを返すのか、max_columnはC列を意味する3とG列を意味する7のどちらを返すのか、私は気になりました。

結果は下図のとおりWorksheet.max_row属性は10を、Worksheet.max_column属性は7を返します。

OpenPyXLの場合も、Excel VBAと同じように、データは存在しないけれど書式設定されているG10セルを最終セルと見なすということです。

最終更新日時:2023-05-07 16:59

[スポンサードリンク]

Home » Python » OpenPyXLの使い方 » OpenPyXLのmax_row属性やmax_column属性は何を返すのか

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

検索


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

.