cell.cell【セル】モジュール
メモ ( 概要 値の取得・設定 数式の取得・設定 コメント 表示形式 配置 フォント・テキスト色 罫線 塗りつぶし ハイパーリンク )
定数 関数 Cell【セル】クラス MergedCell【結合セル】クラス 例
メモ
概要
- Excel のセルに対応
- モジュール内定義
- 定数
- 関数
- Cell【セル】クラス
- MergedCell【結合セル】クラス
- 下記については workbook【ワークブック】モジュール 参照
- 下記については worksheet【ワークシート】モジュール 参照
- 下記については worksheet.views【ビュー】モジュール 参照
- 関連モジュール
値の取得・設定
〔 例 〕- 取得・設定:value【値】プロパティ
- 設定:Worksheet【ワークシート】の worksheet[address] = value【セル値 設定】操作
- 設定:Worksheet【ワークシート】の cell【セルオブジェクト取得】メソッドで値指定
- 反復処理
- worksheet【ワークシート】モジュール の セルの参照 を参照
数式の取得・設定
〔 例 〕- 上記の 値の取得・設定 で値の代わりに数式指定
コメント
〔 例 〕- 取得・設定:comment【コメント】プロパティ
- 削除:comment【コメント】プロパティに None 設定
スタイルー表示形式
- Excelの [セルの書式設定]-[表示形式]タブ に対応
- セルの number_format【表示形式】プロパティに表示形式を指定
- 詳細は、styles.numbers【表示形式】モジュール 参照
スタイルー配置
- Excelの [セルの書式設定]-[配置]タブ に対応
- セルの alignment【配置】プロパティに Alignment【配置】を指定
- 詳細は、styles.alignment【配置】モジュール 参照
スタイルーフォント・テキスト色
- Excelの [セルの書式設定]-[フォント]タブ に対応
- セルの font【フォント】プロパティに Font【フォント】指定
- 詳細は、styles.fonts【フォント】モジュール 参照
スタイルー罫線
- Excelの [セルの書式設定]-[罫線]タブ に対応
- セルの border【罫線】プロパティに Border【罫線】指定
- 詳細は、styles.borders【罫線】モジュール 参照
スタイルー塗りつぶし
- Excelの [セルの書式設定]-[塗りつぶし]タブ に対応
- セルの fill【塗りつぶし】プロパティに PatternFill【塗りつぶし (パターン)】または GradientFill【塗りつぶし (グラデーション)】を設定
- 詳細は、styles.fills【塗りつぶし】モジュール 参照
ハイパーリンク
- Excel の [挿入] - [リンク]タブ - [ハイパーリンク] に対応
- セルの hyperlink【ハイパーリンク】プロパティを使用 (特殊な動作)
- 詳細は、worksheet.hyperlink【ハイパーリンク】モジュール 参照
外部リンク
- openpyxl (英語)
- ECMA-376:Office Open XML file formats (英語)
SpreadsheetML:- c (Cell)
定数
定数 | 値 | 備考 |
---|---|---|
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【塗りつぶし (グラデーション)】 | 塗りつぶし | |
font | Font【フォント】 | フォント | |
has_style | |||
number_format | str | 表示形式 | |
parent | |||
pivotButton | |||
protection | Protection【保護】 | 保護 | |
quotePrefix | |||
style | str (設定:NamedStyle【名前付きセルスタイル】も可) | セルスタイル名 (組み込みセルスタイル・ユーザー設定セルスタイル) | |
style_id | |||
class openpyxl.cell.cell.Cell | |||
base_date | |||
col_idx | int | 列 | |
column | int | 列 (1~) | |
column_letter | str | 列文字列 ('A'~) | |
comment | Comment【コメント】 | コメント | |
comment. | author | str | コメントの作成者 |
height | int | コメントの高さ | |
text | str | コメントのテキスト | |
width | int | コメントの幅 | |
coordinate | str | セルアドレス (例:'B3') | |
data_type | |||
encoding | |||
hyperlink | Hyperlink (設定:str も可) | ハイパーリンク 詳細は、worksheet.hyperlink【ハイパーリンク】モジュール 参照 | |
internal_value | |||
is_date | |||
parent | 親ワークシート | ||
row | int | 行 (1~) | |
value | str 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【塗りつぶし (グラデーション)】 | 塗りつぶし | |
font | Font【フォント】 | フォント | |
has_style | |||
number_format | str | 表示形式 | |
parent | |||
pivotButton | |||
protection | Protection【保護】 | 保護 | |
quotePrefix | |||
style | str (設定:NamedStyle【名前付きセルスタイル】も可) | セルスタイル名 (組み込みセルスタイル・ユーザー設定セルスタイル) | |
style_id | |||
class openpyxl.cell.cell.MergedCell | |||
column | int | 列 (1~) | |
comment | Comment【コメント】 | コメント | |
comment. | author | str | コメントの作成者 |
height | int | コメントの高さ | |
text | str | コメントのテキスト | |
width | int | コメントの幅 | |
coordinate | str | アドレス (例:'B3') | |
data_type | |||
hyperlink | ハイパーリンク | ||
row | int | 行 (1~) | |
value | None | 値 (なし) |
例
値の取得・設定
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)