xlsx2md プログラム仕様
- 概要:
Excelファイルから値、数式、コメント、図やグラフ情報などを抽出し、Markdownに出力します。
- 詳細説明:
openpyxlを用いてExcelファイルを読み込み、コマンドライン引数の設定に従って 各種情報をMarkdown形式のテキストファイルおよび画像ファイルとして出力します。
- xlsx2md.cell_has_content(cell) bool
- 概要:
セルに値、コメント、またはハイパーリンクが含まれているかを判定します。
- 引数:
- param cell:
判定対象のセルオブジェクト。
- 戻り値:
- returns:
コンテンツが含まれていればTrue、それ以外はFalse。
- rtype:
bool
- xlsx2md.chart_anchor(chart) str
- 概要:
グラフのアンカー位置をセルの座標文字列として取得します。
- 引数:
- param chart:
対象のグラフオブジェクト。
- 戻り値:
- returns:
アンカー位置の座標文字列。
- rtype:
str
- xlsx2md.chart_type_name(chart) str
- 概要:
グラフのクラス名とタイプ名を組み合わせた文字列を取得します。
- 引数:
- param chart:
対象のグラフオブジェクト。
- 戻り値:
- returns:
グラフの種類を表す文字列。
- rtype:
str
- xlsx2md.charts_to_markdown(ws_formula) str
- 概要:
ワークシート内のグラフ情報を抽出し、Markdownに変換します。
- 引数:
- param ws_formula:
対象のワークシート。
- 戻り値:
- returns:
グラフ情報のMarkdown文字列。
- rtype:
str
- xlsx2md.code_escape(value: Any) str
- 概要:
Markdownのインラインコード用に、数式のバッククォート崩れを防ぐエスケープ処理を行います。
- 引数:
- param value:
エスケープ対象の値。
- type value:
Any
- 戻り値:
- returns:
エスケープされ、バッククォートで囲まれた文字列。
- rtype:
str
- xlsx2md.comments_to_markdown(ws_formula, bounds) str
- 概要:
セルコメントを抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- param bounds:
使用範囲を示すタプル。
- 戻り値:
- returns:
コメント情報のMarkdown文字列。
- rtype:
str
- xlsx2md.conditional_formatting_to_markdown(ws_formula) str
- 概要:
条件付き書式を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- 戻り値:
- returns:
条件付き書式のMarkdown文字列。
- rtype:
str
- xlsx2md.data_validations_to_markdown(ws_formula) str
- 概要:
データの入力規則を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- 戻り値:
- returns:
データ入力規則のMarkdown文字列。
- rtype:
str
- xlsx2md.defined_names_to_markdown(wb_formula) str
- 概要:
ワークブックの名前付き範囲を抽出し、Markdownテーブルを生成します。
- 引数:
- param wb_formula:
対象のワークブックオブジェクト。
- 戻り値:
- returns:
名前付き範囲のMarkdown文字列。
- rtype:
str
- xlsx2md.extract_content_to_markdown(input_xlsx: str, output_md: str, image_dir: str, args) bool
- 概要:
指定されたExcelファイルから情報を抽出し、Markdownファイルに書き出します。
- 引数:
- param input_xlsx:
入力するExcelファイルのパス。
- type input_xlsx:
str
- param output_md:
出力するMarkdownファイルのパス。
- type output_md:
str
- param image_dir:
画像を保存するディレクトリのパス。
- type image_dir:
str
- param args:
コマンドライン引数を格納したオブジェクト。
- 戻り値:
- returns:
変換が成功した場合はTrue、失敗した場合はFalse。
- rtype:
bool
- xlsx2md.find_used_bounds(ws_formula, ws_values)
- 概要:
値、数式、コメント、ハイパーリンクから実質的な使用範囲を推定します。
- 引数:
- param ws_formula:
数式を含むワークシートオブジェクト。
- param ws_values:
値を含むワークシートオブジェクト。
- 戻り値:
- returns:
最小行、最小列、最大行、最大列、コンテンツ有無フラグのタプル。
- xlsx2md.format_value(value: Any, date_format: str) str
- 概要:
Excelセル値を生成AIに読みやすいテキストへ変換します。
- 引数:
- param value:
変換対象の値。
- type value:
Any
- param date_format:
日時形式のフォーマット文字列。
- type date_format:
str
- 戻り値:
- returns:
テキスト形式に変換された値。
- rtype:
str
- xlsx2md.formulas_to_markdown(ws_formula, ws_values, bounds, args) str
- 概要:
ワークシート内の数式情報を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
数式を含むワークシート。
- param ws_values:
値を含むワークシート。
- param bounds:
使用範囲を示すタプル。
- param args:
コマンドライン引数を格納したオブジェクト。
- 戻り値:
- returns:
数式情報のMarkdownテーブル文字列。
- rtype:
str
- xlsx2md.get_cached_value(ws_values, row: int, col: int, date_format: str) str
- 概要:
指定したセルのキャッシュされた値を取得し、フォーマットして返します。
- 引数:
- param ws_values:
値を含むワークシート。
- param row:
行番号。
- type row:
int
- param col:
列番号。
- type col:
int
- param date_format:
日時形式のフォーマット文字列。
- type date_format:
str
- 戻り値:
- returns:
フォーマットされたセルの値。
- rtype:
str
- xlsx2md.get_cell_pair(ws_formula, ws_values, row: int, col: int)
- 概要:
数式ワークシートと値ワークシートから、同じ位置のセルペアを取得します。
- 引数:
- param ws_formula:
数式を含むワークシート。
- param ws_values:
値を含むワークシート。
- param row:
行番号。
- type row:
int
- param col:
列番号。
- type col:
int
- 戻り値:
- returns:
数式セルと値セルのタプル。
- xlsx2md.get_nested(obj: Any, names: Iterable[str]) Any | None
- 概要:
属性名のリストに従って、ネストされた属性の値を安全に取得します。
- 引数:
- param obj:
探索開始のオブジェクト。
- type obj:
Any
- param names:
属性名のイテラブル。
- type names:
Iterable[str]
- 戻り値:
- returns:
取得された属性値、存在しない場合はNone。
- rtype:
Optional[Any]
- xlsx2md.get_ref(obj: Any, chains: Iterable[Iterable[str]]) str
- 概要:
複数の属性名チェーンを順に試し、最初に取得できた値を文字列として返します。
- 引数:
- param obj:
探索開始のオブジェクト。
- type obj:
Any
- param chains:
属性名チェーンのイテラブル。
- type chains:
Iterable[Iterable[str]]
- 戻り値:
- returns:
取得された属性値の文字列。見つからなかった場合は空文字。
- rtype:
str
- 概要:
非表示の行列情報を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- 戻り値:
- returns:
非表示情報のMarkdown文字列。
- rtype:
str
- xlsx2md.hyperlinks_to_markdown(ws_formula, bounds) str
- 概要:
ハイパーリンクを抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- param bounds:
使用範囲を示すタプル。
- 戻り値:
- returns:
ハイパーリンク情報のMarkdown文字列。
- rtype:
str
- xlsx2md.image_anchor(img) str
- 概要:
画像のアンカー位置をセルの座標文字列として取得します。
- 引数:
- param img:
対象の画像オブジェクト。
- 戻り値:
- returns:
アンカー位置の座標文字列。
- rtype:
str
- xlsx2md.image_extension(img) str
- 概要:
画像の拡張子を取得します。
- 引数:
- param img:
対象の画像オブジェクト。
- 戻り値:
- returns:
画像の拡張子。
- rtype:
str
- xlsx2md.images_to_markdown(ws_formula, image_dir: str, sheet_name: str) str
- 概要:
ワークシート内の画像データをファイルに保存し、Markdown文字列を生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- param image_dir:
画像を保存するディレクトリ。
- type image_dir:
str
- param sheet_name:
ワークシート名。
- type sheet_name:
str
- 戻り値:
- returns:
画像情報のMarkdown文字列。
- rtype:
str
- xlsx2md.initialize()
- 概要:
コマンドライン引数を解析し、初期設定を行います。
- 戻り値:
- returns:
解析された引数を格納した名前空間オブジェクト。
- rtype:
argparse.Namespace
- xlsx2md.iter_formula_cells(ws_formula, ws_values, bounds)
- 概要:
ワークシート内の数式セルを順番に取得します。
- 引数:
- param ws_formula:
数式を含むワークシート。
- param ws_values:
値を含むワークシート。
- param bounds:
使用範囲を示すタプル。
- 戻り値:
- returns:
数式セルと値セルのタプルを生成するイテレータ。
- xlsx2md.limited_indices(start: int, end: int, max_count: int, output_all: bool)
- 概要:
指定された範囲のインデックスリストと、上限により切り詰められたかを示すフラグを返します。
- 引数:
- param start:
開始インデックス。
- type start:
int
- param end:
終了インデックス。
- type end:
int
- param max_count:
出力する最大数。
- type max_count:
int
- param output_all:
全て出力するかどうかのフラグ。
- type output_all:
bool
- 戻り値:
- returns:
インデックスのリストと、切り詰められたかどうかの真偽値のタプル。
- xlsx2md.main()
- 概要:
スクリプトのメイン処理を実行します。
- xlsx2md.markdown_table(headers: Iterable[str], rows: Iterable[Iterable[Any]]) str
- 概要:
ヘッダーと行データからMarkdown形式の表を作成します。
- 引数:
- param headers:
表のヘッダー文字列のイテラブル。
- type headers:
Iterable[str]
- param rows:
表の行データのイテラブル。
- type rows:
Iterable[Iterable[Any]]
- 戻り値:
- returns:
Markdown形式のテーブル文字列。
- rtype:
str
- xlsx2md.md_escape(value: Any) str
- 概要:
Markdownのテーブルセル用に最低限のエスケープ処理を行います。
- 引数:
- param value:
エスケープ対象の値。
- type value:
Any
- 戻り値:
- returns:
エスケープされた文字列。
- rtype:
str
- xlsx2md.merged_cells_to_markdown(ws_formula) str
- 概要:
結合セル情報を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- 戻り値:
- returns:
結合セル情報のMarkdown文字列。
- rtype:
str
- xlsx2md.object_text(obj: Any) str
- 概要:
openpyxlのTitleやRichText風オブジェクトから読めるテキストを可能な範囲で取り出します。
- 引数:
- param obj:
テキスト抽出対象のオブジェクト。
- type obj:
Any
- 戻り値:
- returns:
抽出された文字列。
- rtype:
str
- xlsx2md.safe_filename(name: str) str
- 概要:
ファイル名として安全な文字列に変換します。
- 引数:
- param name:
変換対象のファイル名。
- type name:
str
- 戻り値:
- returns:
記号をアンダースコアに置換した安全なファイル名。
- rtype:
str
- xlsx2md.sheet_overview_to_markdown(ws_formula, bounds) str
- 概要:
シートの概要情報を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- param bounds:
使用範囲を示すタプル。
- 戻り値:
- returns:
シート概要のMarkdown文字列。
- rtype:
str
- xlsx2md.tables_to_markdown(ws_formula) str
- 概要:
Excelテーブル情報を抽出し、Markdownテーブルを生成します。
- 引数:
- param ws_formula:
対象のワークシート。
- 戻り値:
- returns:
テーブル情報のMarkdown文字列。
- rtype:
str
- xlsx2md.terminate()
- 概要:
プログラムを終了します。
- 詳細説明:
グローバル変数のpauseが真の場合、終了前にユーザーのエンターキー入力を待機します。