tkexcel プログラム仕様

tkexcel.py: Excel (.xlsx, .csv, .txt) ファイルの読み書きと操作を行うためのユーティリティモジュール。

このモジュールはopenpyxlライブラリをベースに、Excelファイルのデータ操作を簡素化する機能を提供します。 暗号化されたExcelファイルの処理や、CSV/テキストファイルの読み込みにも対応しています。 また、チャートの作成やセルの書式設定といった詳細なExcel操作機能も含まれています。

tkexcel.py 技術ドキュメント

tklib.tkexcel.convert_color(color)[ソース]

色の名前またはハッシュ文字列をOpenPyXLで使用可能な16進数カラーコードに変換します。

パラメータ:

color -- str: 色の名前("black", "red"など)または"#RRGGBB"形式のハッシュ文字列。

戻り値:

str: OpenPyXLで利用可能なRRGGBB形式の16進数カラーコード。

tklib.tkexcel.convert_linestyle(linestyle)[ソース]

線のスタイル名をOpenPyXLで使用可能な形式に変換します。

パラメータ:

linestyle -- str: 線のスタイル名("dashed"など)。

戻り値:

str: OpenPyXLで利用可能な線のスタイル文字列。

tklib.tkexcel.convert_size(s)[ソース]

ポイント単位のサイズをEMU (English Metric Unit) に変換します。

詳細説明: 1インチ = 914400 EMU 1 pt = 1/72インチ したがって、1 pt = 914400 / 72 = 12700 EMU となります。

パラメータ:

s -- int or float: ポイント単位のサイズ。

戻り値:

int: EMU単位に変換されたサイズ。

tklib.tkexcel.main()[ソース]

tkExcelクラスの基本的な使用例を示すメイン関数です。

ファイルの作成、書き込み、読み込み、変更、およびPrintメソッドの使用方法を実演します。

class tklib.tkexcel.tkExcel(path=None, mode='r', password=None, allow_no_password=False, tmp_file=None, OpenFile=True, CloseFile=False, try_text=False, data_only=True, keep_vbas=False, try_text_file=False, encoding=None, split_from=1, IsPrint=False, **args)[ソース]

ベースクラス: tkDataFile

MS-Excel (.xlsx) ファイルの読み書きと操作を行うクラスです。

tkDataFileを継承し、Excelファイルのオープン、シート操作、データの読み書き、 パスワード付きファイルの処理などをサポートします。CSVやテキストファイルの読み込みも可能です。

Append(datas)[ソース]

`append`メソッドのエイリアスです。

パラメータ:

datas -- list or tuple: ワークシートに追加するデータのリストまたはタプル。

Close()[ソース]

`close`メソッドのエイリアスです。

Get(irow, icol)[ソース]

`get_val`メソッドのエイリアスです。

パラメータ:
  • irow -- int: 取得するセルの行インデックス (0-based)。

  • icol -- int: 取得するセルの列インデックス (0-based)。

戻り値:

any: セルの値。

Open(path=None, mode=None, data_only=True, password=None, allow_no_password=False, tmp_file='tmp.xlsx', try_text_file=False, keep_vbas=False, encoding=None, IsPrint=True)[ソース]

`open`メソッドのエイリアスです。

パラメータ:
  • path -- str, optional: 開くファイルのパス。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトはNone。

  • data_only -- bool, optional: セルの値を数式ではなく表示されている値として読み込むかどうか。デフォルトはTrue。

  • password -- str, optional: 暗号化ファイルを開く際のパスワード。デフォルトはNone。

  • allow_no_password -- bool, optional: パスワード指定時に開けなかった場合、パスワードなしで再試行するかどうか。デフォルトはFalse。

  • tmp_file -- str, optional: 暗号化ファイルを復号する際に一時的に使用するファイル名。デフォルトは"tmp.xlsx"。

  • try_text_file -- bool, optional: Excel形式でない場合、テキストファイルとして読み込みを試みるか。デフォルトはFalse。

  • keep_vbas -- bool, optional: VBAマクロを保持するかどうか。デフォルトはFalse。

  • encoding -- str, optional: テキストファイルまたはCSVファイルを読み込む際のエンコーディング。デフォルトはNone。

  • IsPrint -- bool, optional: エラーメッセージを標準出力するかどうか。デフォルトはTrue。

戻り値:

openpyxl.workbook.workbook.Workbook or None: 開かれたOpenPyXLワークブックオブジェクト、または失敗した場合はNone。

Print(*vals, end='\n')[ソース]

`print`メソッドのエイリアスです。

param vals:

any: ワークシートに書き込む値。複数の引数を取ります。

param end:

str, optional: 各`print`呼び出しの後にカーソルを移動する方法を指定します。デフォルトは`

`

Read_minimum_matrix(close_fp=False, force_numeric=True)[ソース]

`read_minimum_matrix`メソッドのエイリアスです。

パラメータ:
  • close_fp -- bool, optional: 読み込み後にファイルを閉じるかどうか。デフォルトはFalse。

  • force_numeric -- bool, optional: データを強制的に数値型に変換するかどうか。デフォルトはTrue。

戻り値:

tuple: (ラベルリスト, データリスト)。

Read_sheet(path=None, sheet_name=None, mode='r', data_only=True)[ソース]

`read_sheet`メソッドのエイリアスです。

パラメータ:
  • path -- str, optional: 読み込むExcelファイルのパス。デフォルトはNone。

  • sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトは'r'。

  • data_only -- bool, optional: セルの値を数式ではなく表示されている値として読み込むかどうか。デフォルトはTrue。

戻り値:

list: セルオブジェクトの二次元リスト。

Read_sheet_dict(path=None, sheet_name=None, irow_origin=1, icol_origin=1, allow_overlapped_keys=True, debug=False)[ソース]

`read_sheet_dict`メソッドのエイリアスです。

パラメータ:
  • path -- str, optional: 読み込むExcelファイルのパス。デフォルトはNone。

  • sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

  • irow_origin -- int, optional: ヘッダー行の開始インデックス (1-based)。デフォルトは1。

  • icol_origin -- int, optional: ヘッダー列の開始インデックス (1-based)。デフォルトは1。

  • allow_overlapped_keys -- bool, optional: キーが重複している場合、重複を許可するかどうか。デフォルトはTrue。

  • debug -- bool, optional: デバッグ情報を出力するかどうか。デフォルトはFalse。

戻り値:

tuple: (データ辞書, シート名リスト, キーリスト, データリスト)。

Read_sheet_list(path=None, sheet_name=None, mode='r', data_only=True, debug=False)[ソース]

`read_sheet_list`メソッドのエイリアスです。

パラメータ:
  • path -- str, optional: 読み込むExcelファイルのパス。デフォルトはNone。

  • sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトは'r'。

  • data_only -- bool, optional: セルの値を数式ではなく表示されている値として読み込むかどうか。デフォルトはTrue。

  • debug -- bool, optional: デバッグ情報を出力するかどうか。デフォルトはFalse。

戻り値:

tuple: (ヘッダーリスト, データリスト)。

Read_sheet_matrix(sheet_name=None)[ソース]

`read_sheet_matrix`メソッドのエイリアスです。

パラメータ:

sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

戻り値:

tuple: (ヘッダーリスト, データ行列)。

SetPath(path=None, mode=None)[ソース]

`set_path`メソッドのエイリアスです。

パラメータ:
  • path -- str, optional: 設定するファイルのパス。デフォルトはNone。

  • mode -- str, optional: 設定するファイルのオープンモード。デフォルトはNone。

Write(irow, icol, val)[ソース]

`write`メソッドのエイリアスです。

パラメータ:
  • irow -- int: 設定するセルの行インデックス (0-based)。

  • icol -- int: 設定するセルの列インデックス (0-based)。

  • val -- any or dict: 設定する値、または値と書式設定を含む辞書。

append(datas)[ソース]

ワークシートに新しい行のデータを追加します。

パラメータ:

datas -- list or tuple: ワークシートに追加するデータのリストまたはタプル。

append_data(data, print_level=0)[ソース]

データ(辞書形式)をワークシートの最終行に追記します。

詳細説明: 辞書のキーが既存のラベル(1行目)にない場合、新しい列を追加してキーをラベルとして設定します。

パラメータ:
  • data -- dict: 追記するデータ。キーはラベル名、値は対応するデータ。

  • print_level -- int, optional: ログ出力のレベル。デフォルトは0。

close()[ソース]

開いているExcelワークブックを閉じ、変更が加えられていれば保存します。

copy_cell_format(ws_source=None, irow_source=None, icol_source=None, ws_target=None, irow_target=None, icol_target=None, format='value|fill|font|border')[ソース]

あるセルの値と書式を別のセルにコピーします。

パラメータ:
  • ws_source -- openpyxl.worksheet.worksheet.Worksheet, optional: コピー元のワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • irow_source -- int, optional: コピー元の行インデックス (1-based)。デフォルトはNone。

  • icol_source -- int, optional: コピー元の列インデックス (1-based)。デフォルトはNone。

  • ws_target -- openpyxl.worksheet.worksheet.Worksheet, optional: コピー先のワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • irow_target -- int, optional: コピー先の行インデックス (1-based)。デフォルトはNone。

  • icol_target -- int, optional: コピー先の列インデックス (1-based)。デフォルトはNone。

  • format -- str, optional: コピーする書式の種類をパイプで区切った文字列 (例: 'value|fill|font|border')。デフォルトは'value|fill|font|border'。

copy_worksheet(ws_source=None, title=None)[ソース]

ワークシートをコピーします。同じワークブック内であればOpenPyXLの機能を使用し、 失敗した場合は手動コピー(copy_worksheet2)にフォールバックします。

パラメータ:
  • ws_source -- openpyxl.worksheet.worksheet.Worksheet, optional: コピー元のワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • title -- str, optional: 新しいシートのタイトル。Noneの場合、ソースシートのタイトルを使用。デフォルトはNone。

戻り値:

openpyxl.worksheet.worksheet.Worksheet: コピーされた新しいワークシートオブジェクト。

copy_worksheet2(ws_source=None, title=None)[ソース]

別のワークブックから現在のワークブックにシートをコピーします(手動コピー方式)。

詳細説明: OpenPyXLの`copy_worksheet`が同じワークブック内でのコピーに限定されるため、 異なるワークブックからシートをコピーする際に各セルを個別にコピーします。 このメソッドは内部的に`copy_worksheet`が失敗した場合に呼び出されることを想定しています。

パラメータ:
  • ws_source -- openpyxl.worksheet.worksheet.Worksheet, optional: コピー元のワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • title -- str, optional: 新しいシートのタイトル。Noneの場合、ソースシートのタイトルを使用。デフォルトはNone。

戻り値:

openpyxl.worksheet.worksheet.Worksheet: コピーされた新しいワークシートオブジェクト。

create_sheet(index=0, title=None)[ソース]

新しいワークシートを作成します。

パラメータ:
  • index -- int, optional: 新しいシートを挿入する位置のインデックス (0-based)。デフォルトは0。

  • title -- str, optional: 新しいシートのタイトル。Noneの場合、自動生成されます。デフォルトはNone。

戻り値:

openpyxl.worksheet.worksheet.Worksheet: 作成されたワークシートオブジェクト。

delete_cols(idx, amount=None)[ソース]

指定された列を削除します。

パラメータ:
  • idx -- int: 削除を開始する列のインデックス (1-based)。

  • amount -- int, optional: 削除する列の数。Noneの場合、`idx`から1列のみ削除。デフォルトはNone。

delete_rows(irow, irow2=None)[ソース]

指定された範囲の行を削除します。

パラメータ:
  • irow -- int: 削除を開始する行のインデックス (1-based)。

  • irow2 -- int, optional: 削除する行の数。Noneの場合、`irow`から1行のみ削除。デフォルトはNone。

find_data_array(regexp, flags=0, convert_type=None, def_val=None)[ソース]

ラベル(またはインデックス)に基づいて、指定された列のデータを配列として取得します。

詳細説明: regexpが整数であれば列インデックスとして、文字列であれば正規表現として列を検索します。 取得したデータは指定された型に変換されます。

パラメータ:
  • regexp -- str or int: 列のラベル(正規表現可)または列インデックス (1-based)。

  • flags -- int, optional: `re`モジュールの正規表現フラグ。デフォルトは0。

  • convert_type -- type, optional: 取得したデータを変換する型 (例: float, int)。デフォルトはNone(変換なし)。

  • def_val -- any, optional: セルの値がNoneの場合に返すデフォルト値。'input'を指定すると元の値を使用。デフォルトはNone。

戻り値:

tuple: (ラベル名, データリスト)。ラベルが見つからなかったり、エラーが発生した場合は (None, None)。

find_isheet(name, reg_exp=False)[ソース]

ワークシートの名前(または正規表現)に基づいて、シートのインデックス、名前、およびオブジェクトを検索します。

パラメータ:
  • name -- str or int: 検索するシートの名前、またはシートのインデックス。

  • reg_exp -- bool, optional: `name`が正規表現として解釈されるかどうか。デフォルトはFalse。

戻り値:

tuple: (シートインデックス, シート名, ワークシートオブジェクト)。見つからなかった場合は (None, None, None)。

find_val_in_column(val, icolumn, row_org=1, sheet=None, auto_add=False)[ソース]

指定された列内で特定の値を検索し、その値が見つかった行のインデックスを返します。 `auto_add`がTrueの場合、見つからなければ最終行に値を追加します。

パラメータ:
  • val -- any: 検索する値。

  • icolumn -- int: 検索する列のインデックス (1-based)。

  • row_org -- int, optional: 検索を開始する行のインデックス (1-based)。デフォルトは1。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • auto_add -- bool, optional: 値が見つからなかった場合に、列の最終データ行の下に値を追加するかどうか。デフォルトはFalse。

戻り値:

int or None: 値が見つかった行のインデックス (1-based)。`auto_add`がTrueで追加された場合は追加された行のインデックス。見つからなかった場合はNone。

find_val_in_row(val, irow, column_org=1, sheet=None)[ソース]

指定された行内で特定の値を検索し、その値が見つかった列のインデックスを返します。

パラメータ:
  • val -- any: 検索する値。

  • irow -- int: 検索する行のインデックス (1-based)。

  • column_org -- int, optional: 検索を開始する列のインデックス (1-based)。デフォルトは1。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

int or None: 値が見つかった列のインデックス (1-based)。見つからなかった場合はNone。

freeze_panes(cell='A1', sheet=None)[ソース]

ワークシートのペインを固定します。

パラメータ:
  • cell -- str, optional: 固定する範囲の左上のセル (例: "A1", "B2")。デフォルトは'A1' (固定なし)。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

get(row, column, def_val=None, ws=None)[ソース]

指定されたワークシートのセルの値を取得します (1-basedインデックス)。

パラメータ:
  • row -- int: 取得するセルの行インデックス (1-based)。

  • column -- int: 取得するセルの列インデックス (1-based)。

  • def_val -- any, optional: セルの値がNoneの場合に返すデフォルト値。デフォルトはNone。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: 値を取得するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

any: セルの値。

get_col_data(icol, def_val=None, ws=None)[ソース]

指定された列のデータをリストとして取得します (0-basedインデックス)。

パラメータ:
  • icol -- int or str: 取得する列のインデックス (0-based) または列のラベル名。

  • def_val -- any, optional: セルの値がNoneの場合に返すデフォルト値。デフォルトはNone。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: 値を取得するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

list: 指定された列のセルの値のリスト。

get_column_hidden(icolumn, sheet=None)[ソース]

指定された列の表示/非表示の状態を取得します。

パラメータ:
  • icolumn -- int or str: 列のインデックス (1-based) またはアルファベット表記。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

bool: 列が非表示であればTrue、表示されていればFalse。

get_column_letter(i)[ソース]

列の数値インデックス (1-based) をアルファベット表記に変換します。

パラメータ:

i -- int: 列の数値インデックス (1-based)。

戻り値:

str: 列のアルファベット表記 (例: 1 -> "A")。

get_column_width(icolumn, sheet=None)[ソース]

指定された列の幅を取得します。

パラメータ:
  • icolumn -- int or str: 列のインデックス (1-based) またはアルファベット表記。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

float: 列の幅。

get_dict_from_datalist(datalist=None, keys=None, irow_origin=1, icol_origin=1, allow_overlapped_keys=True)[ソース]

データリストとキーリストから辞書形式のデータを生成します。

詳細説明: データリスト(列ごとのリストのリスト)と、それに対応するキー(ラベル)リストを組み合わせて、 キーをフィールド名とする辞書を作成します。各キーの値は、その列のデータリストとなります。

パラメータ:
  • datalist -- list, optional: 列ごとのデータのリストのリスト。Noneの場合、処理は継続できない。デフォルトはNone。

  • keys -- list, optional: データリストの各列に対応するキー(ラベル)のリスト。Noneの場合、処理は継続できない。デフォルトはNone。

  • irow_origin -- int, optional: データの読み込みを開始する行インデックス (1-based)。デフォルトは1。

  • icol_origin -- int, optional: データの読み込みを開始する列インデックス (1-based)。デフォルトは1。

  • allow_overlapped_keys -- bool, optional: キーが重複している場合、重複を許可するかどうか。Falseの場合、最初のキーのみが使用される。デフォルトはTrue。

戻り値:

dict: キーをフィールド名とする辞書。各キーの値は、対応するデータリスト。

get_icol_from_letter(s)[ソース]

列のアルファベット表記を数値インデックス (1-based) に変換します。

パラメータ:

s -- str: 列のアルファベット表記 (例: "A")。

戻り値:

int: 列の数値インデックス (1-based)。

get_icolumn_from_label(label, column_org=1, row_org=1, sheet=None)[ソース]

指定された行内で特定のラベル(値)またはラベルのリストを持つ列のインデックスを取得します。

詳細説明: `label`がリストまたはタプルの場合、各要素に対して`get_icolumn_from_label1`を呼び出し、 結果のリストを返します。単一のラベルの場合は、その列インデックスを返します。

パラメータ:
  • label -- str or int or float or list or tuple: 検索するラベル(値)、またはラベルのリスト/タプル。

  • column_org -- int, optional: 検索を開始する列のインデックス (1-based)。デフォルトは1。

  • row_org -- int, optional: 検索する行のインデックス (1-based)。デフォルトは1。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: 検索するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

int or list or None: 見つかった列のインデックス (1-based)。`label`がリストの場合、インデックスのリスト。見つからなかった場合はNone。

get_icolumn_from_label1(label, column_org=1, row_org=1, sheet=None)[ソース]

指定された行内で特定のラベル(値)を持つ最初の列のインデックスを取得します(厳密な一致)。

パラメータ:
  • label -- str or int or float: 検索するラベル(値)。

  • column_org -- int, optional: 検索を開始する列のインデックス (1-based)。デフォルトは1。

  • row_org -- int, optional: 検索する行のインデックス (1-based)。デフォルトは1。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: 検索するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

int or None: ラベルが見つかった列のインデックス (1-based)。見つからなかった場合はNone。

get_icolumn_from_label_regex(label, column_org=1, row_org=1, sheet=None, flags=0)[ソース]

指定された行内で正規表現に一致するラベルを持つ最初の列のインデックスを取得します。

パラメータ:
  • label -- str or int or float: 検索するラベル(値)、または正規表現パターン。

  • column_org -- int, optional: 検索を開始する列のインデックス (1-based)。デフォルトは1。

  • row_org -- int, optional: 検索する行のインデックス (1-based)。デフォルトは1。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: 検索するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • flags -- int, optional: re`モジュールの正規表現フラグ (例: `re.IGNORECASE)。デフォルトは0。

戻り値:

int or None: ラベルが見つかった列のインデックス (1-based)。見つからなかった場合はNone。

get_irow_from_label(label, column_org=1, row_org=1, sheet=None)[ソース]

指定された列内で特定のラベル(値)を持つ最初の行のインデックスを取得します。

パラメータ:
  • label -- str or int or float: 検索するラベル(値)。

  • column_org -- int, optional: 検索する列のインデックス (1-based)。デフォルトは1。

  • row_org -- int, optional: 検索を開始する行のインデックス (1-based)。デフォルトは1。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: 検索するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

int or None: ラベルが見つかった行のインデックス (1-based)。見つからなかった場合はNone。

get_labels(ws=None, irow_origin=1, icol_origin=1)[ソース]

指定された行からラベル(列ヘッダー)のリストを取得します。

パラメータ:
  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: ラベルを取得するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • irow_origin -- int, optional: ラベルが存在する行インデックス (1-based)。デフォルトは1。

  • icol_origin -- int, optional: ラベルが開始する列インデックス (1-based)。デフォルトは1。

戻り値:

list: ラベル文字列のリスト。

get_list_from_cells(cells=None, debug=False)[ソース]

セルオブジェクトの二次元リストからヘッダーとデータリスト(列ごとのリストのリスト)を取得します。

パラメータ:
  • cells -- list, optional: セルオブジェクトの二次元リスト。Noneの場合、処理は継続できない。デフォルトはNone。

  • debug -- bool, optional: デバッグ情報を出力するかどうか。デフォルトはFalse。

戻り値:

tuple: (ヘッダーリスト, データリスト)。

get_matrix_from_cells(cells=None)[ソース]

セルオブジェクトの二次元リストからヘッダーとデータの行列を取得します。

詳細説明: このメソッドは現在実装が不完全です。`get_list_from_cells`と重複する可能性があります。

パラメータ:

cells -- list, optional: セルオブジェクトの二次元リスト。Noneの場合、`read_sheet`を呼び出す。デフォルトはNone。

戻り値:

tuple: (ヘッダーリスト, データ行列)

get_row(irow, ws=None)[ソース]

指定された行のセルオブジェクトのタプルを取得し、現在の行/列のカーソルを更新します (0-basedインデックス)。

パラメータ:
  • irow -- int: 取得する行のインデックス (0-based)。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

tuple: 指定された行のセルオブジェクトのタプル。

get_row_data(irow, def_val=None, ws=None)[ソース]

指定された行のデータをリストとして取得します (0-basedインデックス)。

パラメータ:
  • irow -- int: 取得する行のインデックス (0-based)。

  • def_val -- any, optional: セルの値がNoneの場合に返すデフォルト値。デフォルトはNone。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: 値を取得するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

list: 指定された行のセルの値のリスト。

get_sheet(index)[ソース]

インデックスまたはタイトル名に基づいてワークシートオブジェクトを取得します。

パラメータ:

index -- int or str or openpyxl.worksheet.worksheet.Worksheet: ワークシートのインデックス (0-based)、タイトル名、または既存のワークシートオブジェクト。

戻り値:

openpyxl.worksheet.worksheet.Worksheet: 取得されたワークシートオブジェクト。

get_sheet_by_name(title)[ソース]

指定された名前のワークシートを取得します。

パラメータ:

title -- str: 取得するワークシートのタイトル名。

戻り値:

openpyxl.worksheet.worksheet.Worksheet: 指定された名前のワークシートオブジェクト。

get_specified_data(indexes=None, rows=None, convert_label=True)[ソース]

指定された列と行範囲のデータを取得します。

詳細説明: `indexes`で指定された列と`rows`で指定された行からデータを抽出します。 `convert_label`がTrueの場合、ラベルに使用できない文字を'_'に置換します。

パラメータ:
  • indexes -- list or tuple, optional: 取得する列のインデックス (1-based) のリスト。Noneの場合、全列。デフォルトはNone。

  • rows -- list or tuple, optional: 取得する行のインデックス (1-based) のリスト。Noneの場合、全行。デフォルトはNone。

  • convert_label -- bool, optional: ラベルに含まれる特殊文字を変換するかどうか。デフォルトはTrue。

戻り値:

tuple: (ラベル名のリスト, データのリストのリスト)。

get_val(irow, icol, def_val=None, ws=None)[ソース]

指定されたワークシートのセルの値を取得します (0-basedインデックス)。

パラメータ:
  • irow -- int: 取得するセルの行インデックス (0-based)。

  • icol -- int: 取得するセルの列インデックス (0-based)。

  • def_val -- any, optional: セルの値がNoneの場合に返すデフォルト値。デフォルトはNone。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: 値を取得するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

戻り値:

any: セルの値。

initialize(**args)[ソース]

tkExcelオブジェクトの状態を初期化します。 既存のファイルやワークブックを閉じ、全ての内部状態をリセットします。

パラメータ:

args -- dict: 親クラスの`update`メソッドに渡される追加引数。

insert_cols(icol, sheet=None, label=None, check_exist=False, return_if_exist=False, column_org=1, row_org=1, font=None, alignment=None, fill=None, border=None, width=None, restore_width=True, restore_hidden=True)[ソース]

指定された列の前に新しい列を挿入し、必要に応じて書式を適用します。

詳細説明: `check_exist`がTrueの場合、`label`が既存の列に存在するか確認し、存在すれば挿入せずにその列のインデックスを返します。 既存の列の書式をコピーしたり、新しい書式を適用したりすることができます。 列幅や非表示状態を挿入前後に保存/復元するオプションもあります。

パラメータ:
  • icol -- int: 列を挿入する位置のインデックス (1-based)。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • label -- str, optional: 挿入する列のヘッダーラベル。`check_exist`がTrueの場合に使用。デフォルトはNone。

  • check_exist -- bool, optional: 挿入前に`label`が既存列に存在するか確認するかどうか。デフォルトはFalse。

  • return_if_exist -- bool, optional: `check_exist`がTrueの場合、存在すればその列のインデックスを返すか、Falseなら挿入処理を続行するか。デフォルトはFalse。

  • column_org -- int, optional: 列幅/非表示状態の保存・復元を開始する列。デフォルトは1。

  • row_org -- int, optional: ラベルを取得する行。デフォルトは1。

  • font -- openpyxl.styles.fonts.Font or int or None, optional: 設定するフォントオブジェクト、または書式をコピーする元列のインデックス。デフォルトはNone。

  • alignment -- openpyxl.styles.alignment.Alignment or int or None, optional: 設定する配置オブジェクト、または書式をコピーする元列のインデックス。デフォルトはNone。

  • fill -- openpyxl.styles.fills.PatternFill or str or int or None, optional: 設定する塗りつぶしオブジェクト、色コード文字列、または書式をコピーする元列のインデックス。デフォルトはNone。

  • border -- openpyxl.styles.borders.Border or int or None, optional: 設定する罫線オブジェクト、または書式をコピーする元列のインデックス。デフォルトはNone。

  • width -- float, optional: 挿入する列の幅。デフォルトはNone。

  • restore_width -- bool, optional: 挿入前後の列幅を復元するかどうか。デフォルトはTrue。

  • restore_hidden -- bool, optional: 挿入前後の列の表示/非表示状態を復元するかどうか。デフォルトはTrue。

戻り値:

int: 挿入された(または既存の)列のインデックス (1-based)。

insert_rows(irow)[ソース]

指定された行の前に新しい行を挿入します。

パラメータ:

irow -- int: 行を挿入する位置のインデックス (1-based)。

load_workbook(path=None)[ソース]

指定されたパスからワークブックをロードし、現在のワークブックとして設定します。

パラメータ:

path -- str, optional: ロードするExcelファイルのパス。Noneの場合、インスタンスの`path`を使用。デフォルトはNone。

戻り値:

openpyxl.workbook.workbook.Workbook: ロードされたワークブックオブジェクト。

max_column()[ソース]

現在のワークシートの最大列数を取得します。

戻り値:

int or None: 最大列数 (1-based)。ワークシートがNoneの場合はNone。

max_row()[ソース]

現在のワークシートの最大行数を取得します。

戻り値:

int or None: 最大行数 (1-based)。ワークシートがNoneの場合はNone。

open(path=None, mode=None, data_only=True, keep_vbas=False, password=None, allow_no_password=False, tmp_file='tmp.xlsx', try_text_file=False, encoding=None, split_from=None, IsPrint=True)[ソース]

Excelファイル、またはオプションでCSV/テキストファイルを開きます。

詳細説明: ファイルタイプを判別し、適切な方法でファイルを開きます。 書き込みモードの場合は既存ファイルを削除し、新しいワークブックを作成します。 読み込みモードの場合は、既存のワークブックをロードします。 暗号化されたファイルは、別途`open_encrypted`メソッド経由で処理されます。

パラメータ:
  • path -- str, optional: 開くファイルのパス。Noneの場合、インスタンスの`path`を使用。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード ('r':読み込み, 'w':書き込み, 'a':追記)。Noneの場合、インスタンスの`mode`を使用。デフォルトはNone。

  • data_only -- bool, optional: セルの値を数式ではなく表示されている値として読み込むかどうか。デフォルトはTrue。

  • keep_vbas -- bool, optional: VBAマクロを保持するかどうか。デフォルトはFalse。

  • password -- str, optional: 暗号化ファイルを開く際のパスワード。指定がある場合は`open_encrypted`を呼び出す。デフォルトはNone。

  • allow_no_password -- bool, optional: `open_encrypted`に渡される引数。デフォルトはFalse。

  • tmp_file -- str, optional: `open_encrypted`に渡される引数。デフォルトは"tmp.xlsx"。

  • try_text_file -- bool, optional: Excel形式でない場合、テキストファイルとして読み込みを試みるか。デフォルトはFalse。

  • encoding -- str, optional: テキストファイルまたはCSVファイルを読み込む際のエンコーディング。デフォルトはNone。

  • split_from -- int, optional: テキストファイルまたはCSVファイルを読み込む際、何行目からデータを開始するか(1-based)。Noneの場合、インスタンスの`split_from`を使用。デフォルトはNone。

  • IsPrint -- bool, optional: エラーメッセージを標準出力するかどうか。デフォルトはTrue。

戻り値:

openpyxl.workbook.workbook.Workbook or None: 開かれたOpenPyXLワークブックオブジェクト、または失敗した場合はNone。

open_csv(path=None, mode='r', encoding=None, split_from=None, IsPrint=True)[ソース]

CSVファイルをOpenPyXLのワークブックとして開きます。

詳細説明: CSVファイルを読み込み、その内容を新しいワークシートに書き込みます。

パラメータ:
  • path -- str, optional: 開くCSVファイルのパス。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトは'r'。

  • encoding -- str, optional: CSVファイルのエンコーディング。Noneの場合、自動判別します。デフォルトはNone。

  • split_from -- int, optional: 何行目からデータを開始するか(1-based)。Noneの場合、インスタンスの`split_from`を使用。デフォルトはNone。

  • IsPrint -- bool, optional: エラーメッセージを標準出力するかどうか。デフォルトはTrue。

戻り値:

openpyxl.workbook.workbook.Workbook or None: 開かれたOpenPyXLワークブックオブジェクト、または失敗した場合はNone。

open_encrypted(path=None, mode=None, password=None, allow_no_password=False, tmp_file='tmp.xlsx', try_text_file=False, data_only=True, keep_vbas=False, encoding=None, split_from=None, IsPrint=True)[ソース]

パスワードで保護された暗号化Excelファイルを開きます。

詳細説明: `msoffcrypto`ライブラリを使用してファイルを復号し、一時ファイルとして保存してからOpenPyXLで開きます。 処理完了後、一時ファイルは削除されます。

パラメータ:
  • path -- str, optional: 開く暗号化Excelファイルのパス。Noneの場合、インスタンスの`path`を使用。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。Noneの場合、インスタンスの`mode`を使用。デフォルトはNone。

  • password -- str, optional: 暗号化されたExcelファイルを開く際のパスワード。デフォルトはNone。

  • allow_no_password -- bool, optional: パスワード指定時に開けなかった場合、パスワードなしで再試行するかどうか。デフォルトはFalse。

  • tmp_file -- str, optional: 復号したファイルを一時的に保存するファイル名。Noneの場合、エラー終了。デフォルトは'tmp.xlsx'。

  • try_text_file -- bool, optional: 復号後に通常オープンする際にテキストファイルとして試行するかどうか。デフォルトはFalse。

  • data_only -- bool, optional: 復号後に通常オープンする際にセル値を数式ではなく表示値として読み込むかどうか。デフォルトはTrue。

  • keep_vbas -- bool, optional: VBAマクロを保持するかどうか。デフォルトはFalse。

  • encoding -- str, optional: 復号後に通常オープンする際に使用するエンコーディング。デフォルトはNone。

  • split_from -- int, optional: 復号後に通常オープンする際に、テキスト/CSVファイルとして読み込む場合の開始行。デフォルトはNone。

  • IsPrint -- bool, optional: 処理中にメッセージを標準出力するかどうか。デフォルトはTrue。

戻り値:

openpyxl.workbook.workbook.Workbook or None: 開かれたOpenPyXLワークブックオブジェクト、または失敗した場合はNone。

open_text(path=None, mode='r', encoding=None, split_from=None, separator=' ', IsPrint=True)[ソース]

テキストファイルをOpenPyXLのワークブックとして開きます。

詳細説明: テキストファイルを指定された区切り文字で分割し、各行のデータをワークシートに書き込みます。

パラメータ:
  • path -- str, optional: 開くテキストファイルのパス。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトは'r'。

  • encoding -- str, optional: テキストファイルのエンコーディング。Noneの場合、自動判別します。デフォルトはNone。

  • split_from -- int, optional: 何行目からデータを開始するか(1-based)。Noneの場合、インスタンスの`split_from`を使用。デフォルトはNone。

  • separator -- str, optional: 列を区切るためのセパレータ文字列。デフォルトは' ' (スペース)。

  • IsPrint -- bool, optional: エラーメッセージを標準出力するかどうか。デフォルトはTrue。

戻り値:

openpyxl.workbook.workbook.Workbook or None: 開かれたOpenPyXLワークブックオブジェクト、または失敗した場合はNone。

print(*vals, end='\n')[ソース]

現在のカーソル位置からワークシートに値を書き込みます。

詳細説明: vals`がリストまたはタプルの場合、その要素を現在の行に順次書き込みます。 それ以外の場合は、各`vals`要素を現在の行に順次書き込みます。 `end`が

`の場合、次の行にカーソルを移動します。

param vals:

any: ワークシートに書き込む値。複数の引数を取ります。

param end:

str, optional: 各`print`呼び出しの後にカーソルを移動する方法を指定します。`

は次の行へ、それ以外は現在の行の次の列へ。デフォルトは `

read_data(idata=None, flags='', convert_type=None, def_val=None, is_print=True)[ソース]

複数の列からデータを読み込み、ラベルとデータリストのペアを返します。

パラメータ:
  • idata -- list or tuple, optional: 読み込む列のインデックス (1-based) またはラベル(正規表現可)のリスト。Noneの場合、全列を読み込む。デフォルトはNone。

  • flags -- int, optional: `re`モジュールの正規表現フラグ(`idata`が文字列の場合)。デフォルトは''。

  • convert_type -- type, optional: 取得したデータを変換する型 (例: float, int)。デフォルトはNone。

  • def_val -- any, optional: セルの値がNoneの場合に返すデフォルト値。'input'を指定すると元の値を使用。デフォルトはNone。

  • is_print -- bool, optional: (未使用)

戻り値:

tuple: (ラベル名のリスト, データのリストのリスト)。

read_minimum_matrix(close_fp=False, force_numeric=True)[ソース]

ワークシートから最小限のデータを読み込み、ラベルとデータリスト(列ごとのリスト)を取得します。

詳細説明: 1行目をラベルとして読み込み、それ以降の行をデータとして読み込みます。 force_numeric`がTrueの場合、データは数値型 (`float) に強制変換されます。

パラメータ:
  • close_fp -- bool, optional: 読み込み後にファイルを閉じるかどうか。デフォルトはFalse。

  • force_numeric -- bool, optional: データを強制的に数値型に変換するかどうか。デフォルトはTrue。

戻り値:

tuple: (ラベルリスト, データリスト)。

read_sheet(path=None, sheet_name=None, mode='r', data_only=True, password=None, allow_no_password=False, irow_origin=1, icol_origin=1)[ソース]

指定されたシートのセルオブジェクトの二次元リストを読み込みます。

詳細説明: パスワード保護されたファイルや、特定の行/列範囲からの読み込みに対応しています。

パラメータ:
  • path -- str, optional: 読み込むExcelファイルのパス。Noneの場合、インスタンスの`path`を使用。デフォルトはNone。

  • sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス (0-based)。Noneの場合、アクティブシートを読み込む。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトは'r'。

  • data_only -- bool, optional: セルの値を数式ではなく表示されている値として読み込むかどうか。デフォルトはTrue。

  • password -- str, optional: 暗号化ファイルを開く際のパスワード。デフォルトはNone。

  • allow_no_password -- bool, optional: パスワード指定時に開けなかった場合、パスワードなしで再試行するかどうか。デフォルトはFalse。

  • irow_origin -- int, optional: データを読み込む開始行のインデックス (1-based)。デフォルトは1。

  • icol_origin -- int, optional: データを読み込む開始列のインデックス (1-based)。デフォルトは1。

戻り値:

list: セルオブジェクトの二次元リスト (例: [[cell1, cell2], [cell3, cell4]])。

read_sheet_dict(path=None, sheet_name=None, allow_overlapped_keys=True, irow_origin=1, icol_origin=1, debug=False)[ソース]

指定されたシートからヘッダー、データリスト、シート名を辞書形式で読み込みます。

パラメータ:
  • path -- str, optional: 読み込むExcelファイルのパス。デフォルトはNone。

  • sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

  • allow_overlapped_keys -- bool, optional: キーが重複している場合、重複を許可するかどうか。デフォルトはTrue。

  • irow_origin -- int, optional: ヘッダー行の開始インデックス (1-based)。デフォルトは1。

  • icol_origin -- int, optional: ヘッダー列の開始インデックス (1-based)。デフォルトは1。

  • debug -- bool, optional: デバッグ情報を出力するかどうか。デフォルトはFalse。

戻り値:

tuple: (データ辞書, シート名リスト, キーリスト, データリスト)。

read_sheet_list(path=None, sheet_name=None, mode='r', data_only=True, password=None, allow_no_password=False, irow_origin=1, icol_origin=1, debug=False)[ソース]

指定されたシートからヘッダーとデータリスト(列ごとのリストのリスト)を読み込みます。

パラメータ:
  • path -- str, optional: 読み込むExcelファイルのパス。デフォルトはNone。

  • sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

  • mode -- str, optional: ファイルのオープンモード。デフォルトは'r'。

  • data_only -- bool, optional: セルの値を数式ではなく表示されている値として読み込むかどうか。デフォルトはTrue。

  • password -- str, optional: 暗号化ファイルを開く際のパスワード。デフォルトはNone。

  • allow_no_password -- bool, optional: パスワード指定時に開けなかった場合、パスワードなしで再試行するかどうか。デフォルトはFalse。

  • irow_origin -- int, optional: ヘッダー行の開始インデックス (1-based)。デフォルトは1。

  • icol_origin -- int, optional: ヘッダー列の開始インデックス (1-based)。デフォルトは1。

  • debug -- bool, optional: デバッグ情報を出力するかどうか。デフォルトはFalse。

戻り値:

tuple: (ヘッダーリスト, データリスト)。

read_sheet_matrix(sheet_name=None)[ソース]

指定されたシートからヘッダーとデータの行列を読み込みます。

パラメータ:

sheet_name -- str or int, optional: 読み込むシートの名前またはインデックス。デフォルトはNone。

戻り値:

tuple: (ヘッダーリスト, データ行列)。

remove_sheet(title)[ソース]

指定されたタイトルのワークシートを削除します。

パラメータ:

title -- str: 削除するワークシートのタイトル名。

restore_column_hidden(sheet=None, column_org=1, row_org=1, by_label=True)[ソース]

保存された列の表示/非表示状態をワークシートに復元します。

パラメータ:
  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • column_org -- int, optional: 状態を復元する開始列 (1-based)。デフォルトは1。

  • row_org -- int, optional: ラベルを取得する行 (1-based)。デフォルトは1。

  • by_label -- bool, optional: ラベル名に基づいて状態を復元するか、インデックスに基づいて復元するか。デフォルトはTrue。

restore_column_widths(sheet=None, column_org=1, row_org=1, by_label=True)[ソース]

保存された列幅をワークシートに復元します。

パラメータ:
  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • column_org -- int, optional: 列幅を復元する開始列 (1-based)。デフォルトは1。

  • row_org -- int, optional: ラベルを取得する行 (1-based)。デフォルトは1。

  • by_label -- bool, optional: ラベル名に基づいて列幅を復元するか、インデックスに基づいて復元するか。デフォルトはTrue。

save(path=None, workbook=None)[ソース]

現在のワークブックを指定されたパスに保存します。

パラメータ:
  • path -- str, optional: 保存先のファイルパス。Noneの場合、インスタンスの`path`を使用。デフォルトはNone。

  • workbook -- openpyxl.workbook.workbook.Workbook, optional: 保存するワークブックオブジェクト。Noneの場合、インスタンスの`wb`を使用。デフォルトはNone。

戻り値:

bool or None: 保存が成功した場合はTrue、失敗した場合はNone。

set(row, column, val, ws=None)[ソース]

指定されたワークシートのセルに値を設定します (1-basedインデックス)。

パラメータ:
  • row -- int: 設定するセルの行インデックス (1-based)。

  • column -- int: 設定するセルの列インデックス (1-based)。

  • val -- any: 設定する値。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: 値を設定するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

set_cell_fill(row, column, sheet=None, fgcolor='FFFFFF', bgcolor='FFFFFF', pattern='solid')[ソース]

指定されたセルの塗りつぶしプロパティを設定します。

パラメータ:
  • row -- int: セルの行インデックス (1-based)。

  • column -- int: セルの列インデックス (1-based)。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • fgcolor -- str, optional: 前景色の色 (RRGGBB形式の16進数カラーコード)。デフォルトは'FFFFFF' (白)。

  • bgcolor -- str, optional: 背景色の色 (RRGGBB形式の16進数カラーコード)。デフォルトは'FFFFFF' (白)。

  • pattern -- str, optional: 塗りつぶしのパターンタイプ (例: 'solid', 'lightGrid', 'darkGrid')。デフォルトは'solid'。

set_cell_font(row, column, sheet=None, font_color='000000', italic=False, bold=False, strike=False, underline=None, size=None, font_name=None, vertAlign='baseline')[ソース]

指定されたセルのフォントプロパティを設定します。

パラメータ:
  • row -- int: セルの行インデックス (1-based)。

  • column -- int: セルの列インデックス (1-based)。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • font_color -- str, optional: フォントの色 (RRGGBB形式の16進数カラーコード)。デフォルトは'000000' (黒)。

  • italic -- bool, optional: 斜体にするかどうか。デフォルトはFalse。

  • bold -- bool, optional: 太字にするかどうか。デフォルトはFalse。

  • strike -- bool, optional: 取り消し線にするかどうか。デフォルトはFalse。

  • underline -- str, optional: 下線のスタイル (例: 'single', 'double', 'singleAccounting', 'doubleAccounting')。デフォルトはNone。

  • size -- int or float, optional: フォントサイズ。デフォルトはNone。

  • font_name -- str, optional: フォント名 (例: 'Arial')。デフォルトはNone。

  • vertAlign -- str, optional: 垂直方向の配置 (例: 'baseline', 'superscript', 'subscript')。デフォルトは'baseline'。

set_column_hidden(icolumn, hidden=None, sheet=None)[ソース]

指定された列の表示/非表示の状態を設定します。

パラメータ:
  • icolumn -- int or str: 列のインデックス (1-based) またはアルファベット表記。

  • hidden -- bool, optional: 列を非表示にする場合はTrue、表示する場合はFalse。Noneの場合、設定は変更されない。デフォルトはNone。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

set_column_width(icolumn, width=None, sheet=None)[ソース]

指定された列の幅を設定します。

パラメータ:
  • icolumn -- int or str: 列のインデックス (1-based) またはアルファベット表記。

  • width -- float, optional: 設定する列の幅。Noneの場合、幅は設定されない。デフォルトはNone。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

set_path(path=None, mode=None)[ソース]

Excelファイルのパスとオープンモードを設定します。

パラメータ:
  • path -- str, optional: 設定するファイルのパス。Noneの場合、現在のパスを維持。デフォルトはNone。

  • mode -- str, optional: 設定するファイルのオープンモード。Noneの場合、現在のモードを維持。デフォルトはNone。

set_sheet_name(title, sheet=None)[ソース]

ワークシートのタイトル名を変更します。

パラメータ:
  • title -- str: 新しいシートのタイトル名。

  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: 名前を変更するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

set_val(irow, icol, val, ws=None)[ソース]

指定されたワークシートのセルに値を設定します (0-basedインデックス)。

パラメータ:
  • irow -- int: 設定するセルの行インデックス (0-based)。

  • icol -- int: 設定するセルの列インデックス (0-based)。

  • val -- any: 設定する値。

  • ws -- openpyxl.worksheet.worksheet.Worksheet, optional: 値を設定するワークシート。Noneの場合、現在のワークシートを使用。デフォルトはNone。

sheetnames(path=None)[ソース]

指定されたExcelファイルのシート名のリストを取得します。

パラメータ:

path -- str, optional: Excelファイルのパス。Noneの場合、インスタンスの`path`を使用。デフォルトはNone。

戻り値:

list: シート名のリスト。

store_column_hidden(sheet=None, column_org=1, row_org=1)[ソース]

現在のワークシートの列の表示/非表示状態を保存します。

詳細説明: 列の表示/非表示状態をリストと辞書(ラベル名がキー)の両方で保存します。

パラメータ:
  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • column_org -- int, optional: 状態を保存する開始列 (1-based)。デフォルトは1。

  • row_org -- int, optional: ラベルを取得する行 (1-based)。デフォルトは1。

戻り値:

tuple: (表示/非表示状態のリスト, ラベル名をキーとする表示/非表示状態の辞書)。

store_column_widths(sheet=None, column_org=1, row_org=1)[ソース]

現在のワークシートの列幅を保存します。

詳細説明: 列幅をリストと辞書(ラベル名がキー)の両方で保存します。

パラメータ:
  • sheet -- openpyxl.worksheet.worksheet.Worksheet, optional: ワークシートオブジェクト。Noneの場合、現在のワークシートを使用。デフォルトはNone。

  • column_org -- int, optional: 列幅を保存する開始列 (1-based)。デフォルトは1。

  • row_org -- int, optional: ラベルを取得する行 (1-based)。デフォルトは1。

戻り値:

tuple: (列幅のリスト, ラベル名をキーとする列幅の辞書)。

update_cell(cell_name, val)[ソース]

指定された名前付き範囲のセル値を更新します。

詳細説明: Excelの「名前の定義」で指定されたセル範囲を検索し、その値を更新します。

パラメータ:
  • cell_name -- str: 更新するセルの名前付き範囲。

  • val -- any: 設定する値。

戻り値:

bool: 更新が成功した場合はTrue、見つからなかった場合はFalse。

write(irow, icol, val)[ソース]

指定されたセルの値と、オプションで書式(数値形式、水平位置合わせ)を設定します (0-basedインデックス)。

詳細説明: val`が辞書の場合、"val", `"number_format", "horizontal_allignment" のキーを使用して、値と書式を設定できます。

パラメータ:
  • irow -- int: 設定するセルの行インデックス (0-based)。

  • icol -- int: 設定するセルの列インデックス (0-based)。

  • val -- any or dict: 設定する値、または値と書式設定を含む辞書。

class tklib.tkexcel.tkExcelChart(style='scatter')[ソース]

ベースクラス: object

OpenPyXLのチャート機能 (ScatterChart) をラップするクラスです。

add_chart(ws, position='A1')[ソース]

指定されたワークシートにチャートを追加します。

パラメータ:
  • ws -- openpyxl.worksheet.worksheet.Worksheet: チャートを追加するワークシートオブジェクト。

  • position -- str, optional: チャートを配置するワークシート上の開始セル位置 (例: "A1")。デフォルトは"A1"。

add_plot(ws, xrange, yrange, title_from_data=False, title=None, width=None, color='000000', linestyle='-')[ソース]

チャートにプロット(データ系列)を追加します。

パラメータ:
  • ws -- openpyxl.worksheet.worksheet.Worksheet: 参照するワークシートオブジェクト。

  • xrange -- tuple: X軸データの範囲 (min_col, min_row, max_row)。

  • yrange -- tuple: Y軸データの範囲 (min_col, min_row, max_row)。

  • title_from_data -- bool, optional: データのタイトルをデータから取得するかどうか。デフォルトはFalse。

  • title -- str, optional: データ系列のタイトル。title_from_dataがFalseの場合に有効。デフォルトはNone。

  • width -- int or float, optional: 線の幅(ポイント単位)。デフォルトはNone。

  • color -- str, optional: 線の色(16進数カラーコードまたは色の名前)。デフォルトは"000000" (黒)。

  • linestyle -- str, optional: 線のスタイル("-"は実線、"dashed"は破線)。デフォルトは"-"。

set_figsize(width, height)[ソース]

チャートのサイズを設定します。

パラメータ:
  • width -- int or float: チャートの幅。

  • height -- int or float: チャートの高さ。

set_legend(style='')[ソース]

凡例の表示スタイルを設定します。

パラメータ:

style -- str or None, optional: 凡例のスタイル。Noneを指定すると凡例を非表示にします。デフォルトは''。

set_title(title)[ソース]

チャートのタイトルを設定します。

パラメータ:

title -- str: チャートのタイトル文字列。

set_xgrid(style=None)[ソース]

X軸の主グリッド線のスタイルを設定します。

パラメータ:

style -- openpyxl.chart.shapes.GraphicalProperties or None, optional: グリッド線のスタイルオブジェクト。Noneで非表示。デフォルトはNone。

set_xlabel(label)[ソース]

X軸のラベルを設定します。

パラメータ:

label -- str: X軸のラベル文字列。

set_xlim(range)[ソース]

X軸の表示範囲を設定します。

パラメータ:

range -- tuple: X軸の最小値と最大値 (min_val, max_val)。

set_xticks(style='none')[ソース]

X軸の目盛りの表示スタイルを設定します。

詳細説明: このメソッドは、X軸の主目盛りと補助目盛りの両方を設定します。 OpenPyXLのAPIの特性上、同じメソッド名で主目盛りと補助目盛りの設定が行われています。

パラメータ:

style -- str, optional: 目盛りのスタイル(例: "none", "out", "in", "cross")。デフォルトは"none"。

set_ygrid(style=None)[ソース]

Y軸の主グリッド線のスタイルを設定します。

パラメータ:

style -- openpyxl.chart.shapes.GraphicalProperties or None, optional: グリッド線のスタイルオブジェクト。Noneで非表示。デフォルトはNone。

set_ylabel(label)[ソース]

Y軸のラベルを設定します。

パラメータ:

label -- str: Y軸のラベル文字列。

set_ylim(range)[ソース]

Y軸の表示範囲を設定します。

パラメータ:

range -- tuple: Y軸の最小値と最大値 (min_val, max_val)。

class tklib.tkexcel.tkExcel_sheet(sheet=None)[ソース]

ベースクラス: Worksheet

OpenPyXLのワークシートオブジェクトをラップするクラスです。