kkAyatakaのメモ帳。

誰かの役に立つかもしれない備忘録。

sphinxcontrib-xlsxtableのモジュール実行

  • sphinxcontrib-xlsxtableをCLIで呼び出し可能にした
  • グリッドテーブル文字列を一旦ファイルに書き出してから、ドキュメントに組み込むことができる
  • グリッドテーブルがファイルに残るので、Git運用との相性がよさそう

モジュール実行

sphinxcontrib-xlsxtableをモジュール実行できるようにした。 CLIから呼び出すことでreStructuredTextのグリッドテーブル文字列を生成することができる。

$ python -m sphinxcontrib.xlsxtable --header-rows=1 sample.xlsx
+----+-------+-----------+--------+
| A1 | B1    | C1        | D1     |
+====+=======+===========+========+
| A2 | B2:B3 | C2        | D2     |
+----+       +-----------+--------+
| A3 |       | C3:D3              |
+----+-------+-----------+--------+
| A4 | B4    | C4        | - D4-1 |
|    |       |           | - D4-2 |
+----+-------+-----------+--------+

rsSTファイルに書き出してからドキュメントに組み込む

これを使うとExcelファイルから直接reSTに埋め込むのではなく、グリッドテーブルを出力したファイル経由でreSTに展開できる。

table.rstに書き出したとして...

$ python -m sphinxcontrib.xlsxtable --header-rows=1 sample.xlsx > table.rst

.. includeで取り込む。

.. table:: Table Caption

   .. include:: table.rst

グリッドテーブルテキストがファイルに残る

テキストとして残るため、Git管理との相性がよく、PR運用での差分確認が楽になる。 Excelファイルと二重管理にはなるものの、Excelファイルの差分確認はかなり手間であるため、メリットのほうが大きい。

スクリプトを用意すれば出力そのものはそれほど手間にはならないため、Excelファイルを直接reSTに埋め込むよりは、より現実的な運用のように思う。