rex

提供: Personal Tukubai for Academic
ナビゲーションに移動 検索に移動

名前

rex : エクセルファイルのテキスト変換

書式

使い方とオプション

Usage

rex <sheet> [<from> <to>] <file.xlsx>

Option

-n<char>
-h --help:  usageとバージョンを表示します。

説明

エクセルファイルの指定したシート、指定した範囲をテーブル形式で出力します。空白セルは「_」でパディング、半角空白は「_」に変換します。

下記のようなfile.xlsxファイルがあるとします。

  |A   B   C
===============================
1 |
2 |a2
3 |    b3
4 |    b4  c4
5 |        c5
6 |
7 |
8 |
9 |    b9
10|    b10
==============================
sheet1/
~~~~~~

例(その1)

file.xlsxの一番目のシートを出力

$ rex 1 file.xlsx
a2 - -
- b3 -
- b4 c4
- - c5
- - -
- - -
- - -
- b9 -
- b10 -

例(その2)

file.xlsxの一番目のシートのA3からC5まで出力

$ rex 1 A3 C5 file.xlsx
- b3 -
- b4 c4
- - c5

例(その3)

file.xlsxの一番目のシートのB4より右下の範囲を出力

$ rex 1 B4 -- file.xlsx
b4 c4
- c5
- -
- -
- -
b9 -
b10 -

例(その4)

file.xlsxの一番目のシートのC列だけを出力

$ rex 1 C- C- file.xlsx
c4
c5

例(その5)

Excelで記述された範囲外の領域を指定しても、"_" でパディングします。

$ rex 1 A1 D11 file.xlsx
a2 - - -
- b3 - -
- b4 c4 -
- - c5 -
- - - -
- - - -
- - - -
- b9 - -
- b10 - -
- - - -

例(その6)

-nオプションを使うとパディングする文字を変更することが出来ます。

$ rex -n@ 1 A1 D11 file.xlsx
a2 @ @ @
@ b3 @ @
@ b4 c4 @
@ @ c5 @
@ @ @ @
@ @ @ @
@ @ @ @
@ b9 @ @
@ b10 @ @
@ @ @ @

注意1

日付、時刻は文字列でなく、日付が整数部、時刻が小数部の数字で出力されます。この数値は別のコマンドで変換します。wexで書き込んだエクセルのシートを、エクセルで開かずにrexで読み込むと、日付も文字列で出力されます。

注意2

Excelファイルにおいて扱っている文字列が多い場合、まれに「sharedStrings用のメモリ領域が足りません」というエラーメッセージが表示されることがあります。その際はお手数ですが、rex における rex-core のオプションをエディタなどで書き換えをお願いします。rex はシェルスクリプトなので vi など通常のエディタで書き換えが可能です。書き換えるのは rex-core の -m オプションの後に付いている数値です。この数値を増やすことで状況が改善する場合があります。

インストール情報

rexはシェルスクリプトです。内部で rex-core,rex-map というC言語で書かれた二つのプログラムを呼び出しています。rex, rex-map, rex-core を /opt/usp/TOOL に置いて利用します。

Version and Edition

Version : Wed Sep 9 23:49:38 JST 2020

Edition : 2


© 2021 Universal Shell Programming Laboratory site