cell.cell【セル】モジュール

メモ ( 概要 値の取得・設定 数式の取得・設定 コメント 表示形式 配置 フォント・テキスト色 罫線 塗りつぶし ハイパーリンク )
定数 関数 Cell【セル】クラス MergedCell【結合セル】クラス

メモ

概要

値の取得・設定

数式の取得・設定

コメント

スタイルー表示形式

スタイルー配置

スタイルーフォント・テキスト色

スタイルー罫線

スタイルー塗りつぶし


定数

定数備考
TYPE_STRING's'
TYPE_FORMULA'f'
TYPE_NUMERIC'n'
TYPE_BOOL'b'
TYPE_NULL'n'
TYPE_INLINE'inlineStr'
TYPE_ERROR'e'
TYPE_FORMULA_CACHE_STRING'str'

関数

関数備考
WriteOnlyCell(ws=None, value=None)
get_time_format(t)
get_type(t, value)

Cell【セル】クラス

クラス定義

クラス備考
親:openpyxl.styles.styleable.StyleableObject
class Cell(
    worksheet,
    row=None,
    column=None,
    value=None,
    style_array=None)
セル
worksheetワークシート
row
column
value
style_array

プロパティ

プロパティ備考
親:class openpyxl.styles.styleable.StyleableObject
alignment Alignment【配置】配置
border Border【罫線】
(Side【罫線スタイル】)
罫線
fill PatternFill【塗りつぶし (パターン)】
GradientFill【塗りつぶし (グラデーション)】
塗りつぶし
fontFont【フォント】 フォント
has_style
number_formatstr表示形式
parent
pivotButton
protectionProtection【保護】保護
quotePrefix
style str
(設定:NamedStyle【名前付きセルスタイル】も可)
セルスタイル名
(組み込みセルスタイル・ユーザー設定セルスタイル)
style_id
class openpyxl.cell.cell.Cell
base_date
col_idx int
column int列 (1~)
column_letter str列文字列 ('A'~)
commentComment【コメント】コメント
comment.authorstrコメントの作成者
heightintコメントの高さ
textstrコメントのテキスト
widthintコメントの幅
coordinate str セルアドレス (例:'B3')
data_type
encoding
internal_value
is_date
parent 親ワークシート
row int行 (1~)
valuestr
float
int
datetime

メソッド

メソッド備考
check_error(value)

check_string(value)

offset(row=0, column=0)


MergedCell【結合セル】クラス

クラス定義

クラス
親:openpyxl.styles.styleable.StyleableObject
class openpyxl.cell.cell.MergedCell(
    worksheet,
    row=None,
    column=None)
結合セル
worksheet
row
column

プロパティ

プロパティ備考
親:class openpyxl.styles.styleable.StyleableObject
alignment Alignment【配置】配置
border Border【罫線】
(Side【罫線スタイル】)
罫線
fill PatternFill【塗りつぶし (パターン)】
GradientFill【塗りつぶし (グラデーション)】
塗りつぶし
fontFont【フォント】フォント
has_style
number_formatstr表示形式
parent
pivotButton
protectionProtection【保護】保護
quotePrefix
style str
(設定:NamedStyle【名前付きセルスタイル】も可)
セルスタイル名
(組み込みセルスタイル・ユーザー設定セルスタイル)
style_id
class openpyxl.cell.cell.MergedCell
columnint列 (1~)
commentComment【コメント】コメント
comment.authorstrコメントの作成者
heightintコメントの高さ
textstrコメントのテキスト
widthintコメントの幅
coordinatestrアドレス (例:'B3')
data_type
rowint行 (1~)
valueNone値 (なし)

値の取得・設定

from openpyxl import Workbook

# ワークブック作成
WORKBOOK = 'sample.xlsx'
wb = Workbook()
ws = wb.active

# 値の取得・設定 (プロパティ)
ws['B2'].value = 'B-2'
print(ws['B2'].value)
# 出力:B-2
cell = ws['B3']
cell.value = 'B-3'
print(cell.value)
# 出力:B-3

# 値の設定 (セル値設定 操作)
ws['C2'] = 'C-2'
ws['C3'].value = 'C-3'  # 参考:プロパティ

# 値の設定 (セルオブジェクト取得メソッド)
cell = ws.cell(2, 4, 'D-2')
# 値の取得 (プロパティ)
print(cell.value)
# 出力:D-2
cell = ws.cell(2, 4)
print(cell.value)
# 出力:D-2

# 反復処理 (参考)
cells = ws['B5:D7']
for row in cells:
    for cell in row:
        cell.value = f'{cell.column_letter}-{cell.row}'
for row in ws.iter_rows(5, 7, 2, 4, True):
    for value in row:
        print(value)
# 出力:
# B-5
# C-5
# D-5
# B-6
# C-6
# D-6
# B-7
# C-7
# D-7

# ワークブック保存
wb.save(WORKBOOK)

値の取得・設定のサンプル画像


数式の取得・設定

from openpyxl import Workbook

# ワークブック作成
WORKBOOK = 'sample.xlsx'
wb = Workbook()
ws = wb.active

# 値の取得・設定 (プロパティ)
ws['B2'].value = 1
ws['B3'].value = 2
ws['B4'].value = 3
ws['B5'].value = '=SUM(B2:B4)'
print(ws['B5'].value)
# 出力:=SUM(B2:B4)

# 値の設定 (セル値設定 操作)
ws['C2'] = 11
ws['C3'] = 12
ws['C4'] = 13
ws['C5'] = '=SUM(C2:C4)'
# 値の取得 (プロパティ)
cell = ws['C5']
print(cell.value)
# 出力:=SUM(C2:C4)

# 値の設定 (セルオブジェクト取得メソッド)
ws.cell(2, 4, 21)
ws.cell(3, 4, 22)
ws.cell(4, 4, 23)
cell = ws.cell(5, 4, '=SUM(D2:D4)')
# 値の取得 (プロパティ)
print(cell.value)
# 出力:=SUM(D2:D4)
cell = ws.cell(5, 4)
print(cell.value)
# 出力:=SUM(D2:D4)

# ワークブック保存
wb.save(WORKBOOK)

数式の取得・設定のサンプル画像


コメント

from openpyxl import Workbook
from openpyxl.comments import Comment

# ワークブック作成
WORKBOOK = 'sample.xlsx'
wb = Workbook()
ws = wb.active

# コメント設定
comment = Comment('コメント1', 'AUTHOR1')
cell = ws['B2']
cell.value = 'B-2'
cell.comment = comment
print(cell.comment)
# 出力:Comment: コメント1 by AUTHOR1
print(cell.comment.text)
# 出力:コメント1
print(cell.comment.author)
# 出力:AUTHOR1
print(cell.comment.height)
# 出力:79
print(cell.comment.width)
# 出力:144

# コメント設定 (サイズ指定)
comment = Comment('コメント2', 'AUTHOR2', 160, 300)
cell = ws['B3']
cell.value = 'B-3'
cell.comment = comment
print(cell.comment)
# 出力:Comment: コメント2 by AUTHOR2
print(cell.comment.text)
# 出力:コメント2
print(cell.comment.author)
# 出力:AUTHOR2
print(cell.comment.height)
# 出力:160
print(cell.comment.width)
# 出力:300

# コメント削除
comment = Comment('コメント3', 'AUTHOR3')
cell = ws['B4']
cell.value = 'B-4'
cell.comment = comment
print(cell.comment)
# 出力:Comment: コメント3 by AUTHOR3
cell.comment = None
print(cell.comment)
# 出力:None

# ワークブック保存
wb.save(WORKBOOK)

コメント (1/2) のサンプル画像 コメント (2/2) のサンプル画像