# xlsx2yaml-textconv

> テーブルチックなxlsxファイルをシートごとにyaml形式で出力します

Latest version **1.0.7** (published 2020-12-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install xlsx2yaml-textconv
pnpm add xlsx2yaml-textconv
yarn add xlsx2yaml-textconv
bun add xlsx2yaml-textconv
```

Provides the commands `xlsx-difftool`, `xlsx2yaml-textconv`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.7 |
| Published | 2020-12-03 |
| First published | 2020-12-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 14 KB |
| Known vulnerabilities | 0 (+5 in 1 direct dependencies) |
| Install scripts | no |
| Author | koian |
| Maintainers | koian |
| Keywords | xlsx, yaml, textconv |

## Links

- npm: https://www.npmjs.com/package/xlsx2yaml-textconv
- npm.io page: https://npm.io/package/xlsx2yaml-textconv

## Dependencies (7)

- [crlf](https://npm.io/package/crlf.md) ^1.1.1
- [when](https://npm.io/package/when.md) ^3.7.8
- [xlsx](https://npm.io/package/xlsx.md) ^0.13.5
- [mkdirp](https://npm.io/package/mkdirp.md) ^0.5.1
- [js-yaml](https://npm.io/package/js-yaml.md) ^3.12.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^7.0.0
- [commander](https://npm.io/package/commander.md) ^2.18.0

## Alternatives

- [monaco-yaml](https://npm.io/package/monaco-yaml.md) — 420.1K weekly downloads
- [@crewx/workflow](https://npm.io/package/@crewx/workflow.md) — 3.1K weekly downloads
- [yaml-cat](https://npm.io/package/yaml-cat.md) — 38 weekly downloads
- [nunjucks-in-yaml](https://npm.io/package/nunjucks-in-yaml.md) — 9 weekly downloads
- [shopify-symlinks](https://npm.io/package/shopify-symlinks.md) — 3 weekly downloads

## Recent versions

- 1.0.7 (latest) — 2020-12-03
- 1.0.6 — 2020-12-03
- 1.0.5 — 2020-12-03
- 1.0.4 — 2020-12-03
- 1.0.3 — 2020-12-03
- 1.0.2 — 2020-12-03
- 1.0.1 — 2020-12-03
- 1.0.0 — 2020-12-03

## README

# 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.

---
_Source: https://npm.io/package/xlsx2yaml-textconv · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
