Metadata-Version: 2.1
Name: exex-cli
Version: 1.0.2
Summary: Command-line interface for extracting data from Excel documents.
Home-page: https://github.com/vikpe/exex-cli
License: MIT
Keywords: cli,excel,extract,parser,xlsx
Author: Viktor Persson
Requires-Python: >=3.6.2,<4.0.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
Classifier: Topic :: Utilities
Requires-Dist: cleo (>=0.8.1,<0.9.0)
Requires-Dist: exex (>=1.0.0,<2.0.0)
Project-URL: Repository, https://github.com/vikpe/exex-cli
Description-Content-Type: text/markdown

<div align="center">
    <h1>exex</h1>
    <p>
        <b>CLI for extracting data from Excel documents</b>
    </p>

[![PyPI version](https://badge.fury.io/py/exex-cli.svg)](https://pypi.org/project/exex-cli/)
![test](https://github.com/vikpe/exex-cli/workflows/test/badge.svg?branch=master) [![codecov](https://codecov.io/gh/vikpe/exex-cli/branch/master/graph/badge.svg)](https://codecov.io/gh/vikpe/exex-cli)

<br>

</div>


## Installation
```sh
pip install exex-cli
```

## Usage
### Synopsis
```bash
python -m exex_cli FILENAME --sheet SHEET --range RANGE --format FORMAT 
```

Parameter | Type | Default | Description
--- | --- | --- | ---
`FILENAME` | (required) string | | Path to .xlsx file. 
`[SHEET]` | (optional) string or int | `0` (first sheet) | Name or index of sheet
`[RANGE]` | (optional) range | `all` (all values) | Range to get values from
`[FORMAT]` | (optional) string | `text` | `text`, `table`, `json`, `csv`

**Type of ranges**

Type | Syntax | Example
--- | --- | ---
All values | `all` | `all`
Cell by name | `[COLUMN_NAME][ROW_NUMBER]` | `A1`
Cell by index | `[COLUMN_INDEX],[ROW_INDEX]` | `1,1`
Cell range | `[FROM]:[TO]` |  `A1:A3`
Column | `[COLUMN_NAME]` | `A`
Column range | `[FROM]:[TO]` | `A:C`
Row | `[ROW_NUMBER]` | `1`
Row range | `[FROM]:[TO]` | `1:3`

### Examples

**Get all values as JSON**
```bash
python -m exex_cli sample.xlsx --format json
```

**Get cell range as CSV**
```bash
python -m exex_cli sample.xlsx --range A1:A3 --format csv
```

## Development

**Setup**
```sh
poetry install
```

**Tests** (local Python version)
```sh
poetry run pytest
```

**Code formatting** (black)
```sh
poetry run black .
```

