workbook.workbook【ワークブック】モジュール
メモ ( 概要 基本操作 名前定義 組み込みセルスタイル ユーザー設定セルスタイル 外部リンク ) 例
ワークシート関連: 参照 新規作成・コピー・移動・削除 反復処理 ワークシート・シート名 ⇔ インデックス番号 変換
Workbook【ワークブック】クラス ( クラス定義 操作 プロパティ メソッド )
メモ
概要
- Excel のブックに対応
- モジュール内定義
- 関連モジュール
- その他
- ワークブック ファイルは、zip形式の OOXML(Office Open XML) の為、拡張子を .zip にすれば内容がテキストで参照可能
基本操作
〔 例 〕- Workbook【ワークブック】取得
- 新規作成:Workbook【ワークブック】クラスからオブジェクト作成
(シート名が 'Sheet' のワークシートも自動作成) - 既存ファイル:reader.excel【Excel】モジュール の load_workbook【ワークブック読み込み】関数
(マクロ・数式・リンク を保持する場合は、引数で指定)
- 新規作成:Workbook【ワークブック】クラスからオブジェクト作成
- 保存:save【ワークブック保存】(テンプレートとして保存も可)
名前定義
- defined_names【名前定義リスト】プロパティで管理
- 詳細は、workbook.defined_name【名前定義】モジュール の名前定義の追加・参照 参照
組み込みセルスタイル
- Cell【セル】の style【セルスタイル名】に組み込みセルスタイル名指定
- 詳細は、styles.builtins【組み込みセルスタイル】モジュール 参照
ユーザー設定セルスタイル
- add_named_style【名前付きセルスタイル 登録】で NamedStyle【名前付きセルスタイル】登録
- Cell【セル】の style【セルスタイル名】に登録したセルスタイル名指定
- 詳細は、styles.named_styles【名前付きセルスタイル】モジュール のユーザー設定セルスタイル 参照
以下 Worksheet【ワークシート】関連
ワークシートの参照
〔 例 〕- アクティブシート:active【アクティブシート】プロパティ
- 設定でアクティブシートの変更
- シート名で参照
- インデックス番号で参照:workbook.worksheets[ N (0~) ]【ワークシート リスト】プロパティ
ワークシートの新規作成・コピー・移動・削除
〔 例 〕ワークシートの反復処理
〔 例 〕ワークシート・シート名 ⇔ インデックス番号 変換
〔 例 〕- ワークシート・シート名 ⇒ インデックス番号
- インデックス番号 ⇒ ワークシート・シート名
- その他
- ワークシート ⇒ シート名: Worksheet【ワークシート】 の title【シート名】
外部リンク
- openpyxl (英語)
- ECMA-376:Office Open XML file formats (英語)
SpreadsheetML:- workbook (Workbook)
Workbook【ワークブック】クラス
クラス定義
クラス | 備考 |
---|---|
親:object インポート:from openpyxl import Workbook (省略形) | |
class Workbook( write_only=False, iso_dates=False) | Workbook【ワークブック】クラス write_only書き込み専用モード指定 (True:書き込み専用モード / False:通常モード) iso_dates ※:Worksheet【ワークシート】も自動作成 (シート名:'Sheet') |
操作
操作 | 備考 |
---|---|
sheet in workbook sheet not in workbook | 存在判定 不存在判定 |
workbook[sheetname] | worksheet【ワークシート】取得 sheetname (str)シート名 |
del workbook[sheetname] | worksheet【ワークシート】削除 sheetname (str)シート名 |
for sheet in workbook : | 反復処理 |
プロパティ
プロパティ | 型 | 備考 | |
---|---|---|---|
active | Worksheet【ワークシート】 | アクティブシート (None:なし) | |
chartsheets | list[ Chartsheet【グラフシート】 ] | Chartsheet【グラフシート】のリスト | |
calculation | CalcProperties | ||
code_name | |||
data_only | |||
defined_names | DefinedNameList【名前定義リスト】 | 名前定義リスト | |
defined_names. | definedName | list tuple | 名前定義シーケンス |
defined_names[定義名] (下記のプロパティは抜粋) | DefinedName【名前定義】 | ||
defined_names[定義名]. (範囲:ブックのみ) | attr_text value | str | 参照範囲 |
comment | str | コメント | |
destinations | 名前定義情報ジェネレータ (シート名, セルアドレス) の tuple | ||
encoding | 例:'utf-8' | ||
epoch | |||
excel_base_date | datetime | 起算日 Excel オプションの [1904 年から計算する] に対応 例:datetime(1904, 1, 1, 0, 0)・datetime(1899, 12, 30, 0, 0) | |
is_template | bool | ||
iso_dates | bool | ||
loaded_theme | |||
mime_type | |||
named_styles | list[ str ] | セルスタイル名 リスト (使用中のみ) | |
path | |||
properties | DocumentProperties | ('/xl/workbook.xml') | |
read_only | bool | 読み取り専用モード指定 (True:読み取り専用モード / False:通常モード) 参照:load_workbook()【ワークブック読み込み】 | |
rels | RelationshipList | ||
security (下記プロパティは抜粋) | WorkbookProtection (別名:DocumentSecurity) | ブック保護 | |
security. | lockStructure | bool | ブック保護 (シート構成) の有無 |
lockWindows | bool | ブック保護 (ウィンドウ) の有無 | |
lock_structure | bool | lockStructure【ブック保護 (シート構成) の有無】のエイリアス | |
lock_windows | bool | lockWindows【ブック保護 (ウィンドウ) の有無】のエイリアス | |
workbookPassword | str | ブック保護のパスワード | |
workbook_password | workbookPassword【ブック保護パスワード】のエイリアス | ||
shared_strings | IndexedList | ||
sheetnames | list[ str ] | シート名リスト wb.sheetnames[ N (0~) ] で N 番目のワークシートのシート名 | |
style_names | list[ str ] | セルスタイル名 リスト (使用中のみ) | |
template | bool | テンプレート指定の有無 (True:テンプレート / False:通常ワークブック) 参照:save【ワークブック保存】 | |
vba_archive | |||
views | list[ BookView ] | ||
worksheets | list[ Worksheet【ワークシート】 ] | Worksheet【ワークシート】のリスト wb.worksheets[ N (0~) ] で N 番目のワークシート | |
write_only | bool | 書き込み専用モード指定 (True:書き込み専用モード / False:通常モード) 参照:Workbook【ワークブック】コンストラクタ |
メソッド
メソッド | 備考 |
---|---|
add_named_range( named_range) | 名前定義 追加 named_range (DefinedName)名前定義 (代替:workbook.defined_names.append【名前定義 追加】) |
add_named_style( style) | 名前付きセルスタイル 登録 style (NamedStyle)名前付きセルスタイル |
close( ) | ワークブック クローズ (読み取り専用モード・書き込み専用モードは明示的にクローズ) 参照:load_workbook()【ワークブック読み込み】 |
copy_worksheet( from_worksheet) | ワークシート コピー 戻り値コピー先のworksheet【ワークシート】 from_worksheetコピー元のworksheet【ワークシート】 ・同一ワークブック内のみ ・シート内の画像等はコピー不可 ・読み取り・書き込み専用モードではコピー不可 |
create_chartsheet( title=None, index=None) | グラフシート作成 title (str)タイトル index (int)挿入位置インデックス |
create_named_range( name, worksheet=None, value=None, scope=None) | 名前定義 作成・追加 name (str)定義名 worksheet (Worksheet)ワークシート value (str)参照範囲 scope (int)範囲 (ブック:None / シート:シートId) ※ 下記どちらかの指定 (workbook.defined_name【名前定義】モジュール も参照) ・ worksheet (ワークシート)指定有り:value (参照範囲)にシート名なしで指定 (スペースを含むシート名に対応、但しカンマ区切りによる複数指定には未対応) ・ worksheet (ワークシート)指定なし:value (参照範囲)にシート名有りで指定 |
create_sheet( title=None, index=None) | ワークシート作成 戻り値 (Worksheet)Worksheet【ワークシート】 戻り値 (WriteOnlyWorksheet)WriteOnlyWorksheet【ワークシート (書き込み専用)】 title (str)シート名 (省略:'Sheet'・'SheetN') index (int)挿入位置インデックス 省略:最後 0:先頭 N:先頭から(N+1)番目 -1:最後から2番目 -N:最後から(N+1)番目 |
get_index( worksheet) | インデックス番号取得 戻り値インデックス番号 (0~) worksheetworksheet【ワークシート】 (代替:Workbook.index【インデックス番号取得】) |
get_named_range( name) | 名前定義 取得 (範囲:ブックのみ) 戻り値 (DefinedName)名前定義 name定義名 (代替:Workbook.defined_names[name]) |
get_named_ranges( ) | 名前定義シーケンス取得 戻り値DefinedName【名前定義】シーケンス (代替:workbook.defined_names.definedName【名前定義シーケンス】) |
get_sheet_by_name( name) | シート名からシート取得 戻り値シート nameシート名 (代替:wb[ sheetname ]) |
get_sheet_names( ) | シート名リスト取得 戻り値シート名のリスト (代替:sheetnames【シート名リスト】) |
index(worksheet) | インデックス番号取得 戻り値インデックス番号 (0~) worksheet (Worksheet)ワークシート |
move_sheet( sheet, offset=0) | ワークシート移動 sheet (Worksheet | str)ワークシート または シート名 offset現在位置からの移動数 省略 (0):移動なし 正数:右に移動 負数:左に移動 |
remove(worksheet) | ワークシート削除 worksheet (Worksheet)ワークシート |
remove_named_range( named_range) | 名前定義 削除 (範囲:ブックのみ) named_range定義名 (代替: del Workbook.defined_names[name]【削除操作 (範囲:ブックのみ)】 ・delete【名前定義 削除】) |
remove_sheet( worksheet) | ワークシート削除 worksheet (Worksheet)ワークシート (代替:del workbook[ sheetname ]【ワークシート削除 操作】・remove【ワークシート削除】) |
save(filename) | ワークブック保存 (新規保存・上書き保存・テンプレート保存) filenameファイル名 既存ファイルあり:警告なしに保存 テンプレート保存:template【テンプレート指定の有無】を True に指定 ※ 形式:ECMA 376 と ISO 29500 で標準化されている zip形式の OOXML(Office Open XML) ファイル |