Skip to content

akabekobeko/npm-xlsx-extractor

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

xlsx-extractor

Support Node of LTS npm version test code style: 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:

{
  "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.
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.
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.
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.
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

License