step3用のPythonスクリプト

説明

更新用。 エクセル表をjsonファイルに変換する。 step3xls.batから直接呼び出される。 Python 3 用。

使用方法
    excel_to_json.py E:\scratch\Hello2.xls E:\scratch
    excel_to_json.py Hello2.xls E:\scratch --noheader
    excel_to_json.py Hello2.xls E:\scratch --columns B:C
    excel_to_json.py Hello2.xls E:\scratch --origin B3 --columns B:C
    excel_to_json.py Hello3.xls E:\scratch --url C
    
    第1引数: 変換元エクセルブック(フルパスまたは出力先パス)
    第2引数: 出力先ディレクトリ(フルパス)
    --pattern: ファイル名曖昧指定(正規表現)
    --sheet: 対象ワークシート(複数、省略時はすべて)
    --origin: 基準セル(表範囲の左上アドレス、省略時はA1)
    --columns: 有効カラム(絶対列アドレス)
    --url: Hyperlink情報を持つ列(絶対列アドレス)
    --noheader: 1行目からデータとして扱う
    --text: Valueの代わりにTextを読む
    --formula: Valueの代わりにFormulaR1C1を読む
    --invisible: エクセルを非表示にする
    --verbose: 冗長な情報を出力する
    
    生成するjsonは、ArrayのArray。行優先マトリックス。
    sheet指定があれば、そのシート群が対象で、なければ全部が対象。
    A1がブランクでないシートを変換対象とする。
    シート単位でjsonファイルを作る。
    すべてのシートが同じ形式だと想定している。
    origin (A1)からの連続領域を有効データの範囲とする。
    columns指定があれば、それを優先し、なければ、先頭シートの形式を優先する。
    各シートを、sheet1.json等の連番ファイルに変換する。
    ファイルとシート名の関連情報を、index.jsonに書き出す。
    ヘッダー情報があれば、columns.jsonに書き出す。
    url指定した列にHyperlink情報があれば、url情報としてカラム末尾に追加する。
    pattern指定があれば、変換元ディレクトリで、パターンに一致し、
    タイムスタンプが最も新しいファイルを変換元とする。
    
    エクセル本体が必要(インストール済みであること)。
    
    このプログラムはエクセルを起動し、
    指定されたブックを開き、
    変換したjsonを保存し、
    エクセルを閉じる。