xlsx2yaml-textconv
Version:
テーブルチックなxlsxファイルをシートごとにyaml形式で出力します
149 lines (101 loc) • 2.73 kB
Markdown
# xlsx2yaml-textconv
テーブルチックなxlsxファイルをシートごとにyaml形式で出力します
git用のtextconvツールとしても使用できます
## install
```
npm install -g xlsx2yaml-textconv
```
## USAGE
```bash
Usage: xlsx2yaml-textconv [options] <file>
Options:
--field_row <n> A field_row
--select_sheet_name <string(regexp)> A select_sheet_name
```
以下のようなシートのエクセル(Book.xlsx)を例にしていきます
#### Sheet1
|name|age|gender|
|-|-|-|
|naoki|15|male|
|misae|17|female|
### example
```
xlsx2yaml-textconv Book.xlsx --field_row 0
Sheet1 name: naoki
age: 15
gender: male
Sheet1 name: misae
age: 17
gender: female
```
### options
#### field_row options
フィールド(ヘッダー)指定をします
```
xlsx2yaml-textconv Book.xlsx --field_row 1
Sheet1 '15': 17
naoki: misae
male: female
```
- 指定がない場合はxlsxに従いA ~ 表記から続いていきます
- また、空の列は基本的には詰めていきます
```
xlsx2yaml-textconv Book.xlsx
Sheet1 A: name
B: age
C: gender
Sheet1 A: naoki
B: '15'
C: male
Sheet1 A: misae
B: '17'
C: female
```
#### select_sheet_name
正規表現形式でシート名を指定します
上記例のxlsxに以下のようなシートを追加
#### Sheet12
|name|age|gender|
|-|-|-|
|naoya|18|male|
|misako|20|female|
```
xlsx2yaml-textconv Book.xlsx --field_row 0 --select_sheet_name 'Sheet*'
Sheet1 name: naoki
age: 15
gender: male
Sheet1 name: misae
age: 17
gender: female
Sheet12 name: naoya
age: 18
gender: male
Sheet12 name: misako
age: 20
gender: female
```
## for git
- textconv設定をかけることによってgit差分を上記表示に従って見れるようになります
- diffmergeを使用して差分を確認することも可能
.gitattributes
```
*.xlsx diff=xlsx
*.XLSX diff=xlsx
```
git config
```
git config --global diff.xlsx.binary true
git config --global diff.xlsx.textconv "Book.xlsx --field_row 0"
git config --global diff.xlsx.cachetextconv true
```
外部ツールを使用する場合
```
git config --global difftool.diffmerge.cmd "difftool diffmerge \$LOCAL \$REMOTE"
git config --global difftool.diffmerge.cmd "xlsx-difftool diffmerge \$LOCAL \$REMOTE"
git config --global difftool.sourcetree.cmd "xlsx-difftool diffmerge \$LOCAL \$REMOTE"
git config --global diff.tool diffmerge
```
## ps
[こちら](https://github.com/pismute/node-textconv)参考にさせて頂きました。感謝いたします
## License
Copyright 2020+ koian Licensed under the MIT license.