読者です 読者をやめる 読者になる 読者になる

write ahead log

ロールフォワード用

xlsxファイルをコマンドラインで操作するツールを作った

作った/試した golang

golangで作った.用途はわかる人にはわかる.

github.com

これは何?

行指向のxlsxファイルの編集ツールです.
シェルと合わせて使ってます.

インストール

go getでどうぞ.

go get github.com/twinbird/xl

使い方

まずはサンプルのファイルを

$ cat test.txt
5501 5039 3720 980 339 384 78 3117 2935 2296 381 258 140 42
5542 5120 3715 1063 342 351 71 3128 2962 2292 411 259 128 38
5587 5172 3751 1078 343 346 69 3135 2970 2296 415 258 128 38

テキストをxlsxのセルに配置する

$ cat test.txt | ./xl.exe -out xxx.xlsx

こんな感じになります.

f:id:twinbird_htn:20160804235830p:plain

xlsxの各セルをテキストに起こす

$ ./xl.exe -in xxx.xlsx
5501 5039 3720 980 339 384 78 3117 2935 2296 381 258 140 42
5542 5120 3715 1063 342 351 71 3128 2962 2292 411 259 128 38
5587 5172 3751 1078 343 346 69 3135 2970 2296 415 258 128 38

区切り文字を指定する

入力でも出力でも使えます.

$ cat test.csv | ./xl.exe -out xxx.xlsx -s ,
$ ./xl.exe -in xxx.xlsx -s ,
5501,5039,3720,980,339,384,78,3117,2935,2296,381,258,140,42
5542,5120,3715,1063,342,351,71,3128,2962,2292,411,259,128,38
5587,5172,3751,1078,343,346,69,3135,2970,2296,415,258,128,38

開始位置を指定する

処理するセルの開始位置を指定できます. 入力・出力両方使えます.

$ ./xl.exe -in xxx.xlsx -b b,2
5120 3715 1063 342 351 71 3128 2962 2292 411 259 128 38
5172 3751 1078 343 346 69 3135 2970 2296 415 258 128 38

シートを指定する

処理するシートを指定できます. 入力・出力両方使えます.

$ cat test.txt | ./xl.exe -out xxx.xlsx -S Sheet2

結論

tealeg/xlsxはすごい.
ありがとうtealegさん.