xlsx-extractor
Version:
Extract the colums/rows from XLSX file.
150 lines (106 loc) • 3.49 kB
Markdown
# xlsx-extractor
[](https://nodejs.org/)
[](https://badge.fury.io/js/xlsx-extractor)
[](https://travis-ci.org/akabekobeko/npm-xlsx-extractor)
[](https://github.com/prettier/prettier)
Extract the colums/rows from XLSX file. The cells of the sheet parsed by this tool will be filled with the largest columns and rows.
For example, parsing a columns:`3` rows:`3` sheet:
```json
{
"id": 2,
"name": "Example Sheet",
"cells": [
["", "a", ""],
["", "", "b"],
["c", "", ""]
]
}
```
Don't trim empty cells. Therefore, it is convenient for processing programmatically while maintaining cell coordinates.
## Installation
```
$ npm install xlsx-extractor
```
## Node.js API
How to use in Node.js.
### `getSheetCount(filePath)`
Extract and get the number of sheets.
- `filePath`: `string` - Path of the XLSX file.
- **Returns**: `number` - Number of sheets.
```js
const xlsx = require('xlsx-extractor');
const count = xlsx.getSheetCount('./sample.xlsx')
console.log(count);
```
### `extract(filePath, index)`
Extract and get an index of sheets.
- `filePath`: `string` - Path of the XLSX file.
- `index`: `number` - Index of sheets (1 - Sheet count).
- **Returns**: `Promise<Sheet>` - Value of sheet.
```js
const xlsx = require('xlsx-extractor');
xlsx.extract('./sample.xlsx', 1)
.then((sheet) => {
console.log(sheet)
})
.catch((err) => {
console.log(err)
});
```
### `extractRange(filePath, begin, end)`
Extract and get a specified range of sheets.
- `filePath`: `string` - Path of the XLSX file.
- `begin`: `number` - Begin index (1 - Sheet count).
- `end`: `number` - End index (1 - Sheet count).
- **Returns**: `Promise<Sheet[]>` - Value of sheets.
```js
const xlsx = require('xlsx-extractor');
xlsx.extractRange('./sample.xlsx', 1, 2)
.then((sheets) => {
console.log(sheets)
})
.catch((err) => {
console.log(err)
});
```
### `extractAll(filePath)`
Extract and get specified all of sheets.
- `filePath`: `string` - Path of the XLSX file.
- **Returns**: `Promise<Sheet[]>` - Value of sheets.
```js
const xlsx = require('xlsx-extractor');
xlsx.extractAll('./sample.xlsx')
.then((sheets) => {
console.log(sheets)
})
.catch((err) => {
console.log(err)
});
```
### `Sheet`
Value of sheet.
- `id`: `number` - Index of the sheets.
- `name`: `string` - Name of the sheet.
- `cells`: `string[][]` - Cells of the sheet. Empty cell is stored is `""`.
## CLI
```
Usage: xlsx-extractor [options]
Extract the colums/rows from XLSX file.
Options:
-i, --input [File] Path of the XLSX file
-r, --range [N] or [N-N] Range of sheets to be output. Specify the numeric value of "N" or "N-N".
-c, --count Outputs the number of sheet. This option overrides --range.
-v, --version output the version number
-h, --help output usage information
Examples:
$ xlsx-extractor -i sample.xlsx
$ xlsx-extractor -i sample.xlsx -c
$ xlsx-extractor -i sample.xlsx -r 3
$ xlsx-extractor -i sample.xlsx -r 1-5
See also:
https://github.com/akabekobeko/npm-xlsx-extractor/issues
```
## ChangeLog
* [CHANGELOG](CHANGELOG.md)
## License
* [MIT](LICENSE.txt)