New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

xlstream-2

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xlstream-2

Turns XLSX into a readable stream.

  • 2.3.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

Build Status codecov npm

xlstream

Memory-efficiently turns XLSX file into a transform stream with all its benefits.

  • Stream is pausable.
  • Emits all default events (data, end, etc.)
  • Returns header, raw and formatted row data in just one data event.
  • Maintains desirable behavior of merged cells.
  • Supports files created by OpenXML.
  • Supports standard, Excel and custom number formats.

Installation

npm install xlstream

Example

source.xlsx contents:

AB
hello123

Where 123 is a 123.123 number formatted to be rounded to integer.

Script:

const { getXlsxStream } = require('xlstream');

(async () => {
    const stream = await getXlsxStream({
        filePath: './source.xlsx',
        sheet: 0,
    });
    stream.on('data', x => console.log(x));
})();

Result:

{ 
    "raw": { 
        "obj": { "A": "hello", "B": 123.123 }, 
        "arr": [ "hello", 123.123 ] 
    },
    "formatted": { 
        "obj": { "A": "hello", "B": 123 }, 
        "arr": [ "hello", 123 ] 
    },
    "header": []
}

getXlsxStream

Returns transform stream of the sheet.

Options

optiontypedescription
filePathstringPath to the XLSX file
sheetstring or numberIf string is passed, finds sheet by it's name. If number, finds sheet by it's index.
withHeaderboolean or numberIf true, column names will be taken from the first sheet row. If duplicated header name is found, column name will be prepended with column letter to maintain uniqueness. 0-based row location can be passed to this option if header is not located on the first row.
ignoreEmptybooleanIf true, empty rows won't be emitted.
fillMergedCellsbooleanIf true, merged cells will have the same value (by default, only the first cell of merged cells is filled with value). Warning! Enabling this feature may increase streaming time because file must be processed to detect merged cells before actual stream.
numberFormatstandard or excel or objectBy default standard format is used. Excel implementation of number formatting differs from standard (can be read here) so excel option can be used to match this difference. If custom formatting is needed, a dictionary object can be passed to this option.

getXlsxStreams

Async generator which yields transform streams of the sheets.

Options

OptionTypeDescription
filePathstringPath to the XLSX file
sheetsarray of sheet objectsOptions of sheet object can be found below.
Sheet object
optiontypedescription
idstring or numberIf string is passed, finds sheet by it's name. If number, finds sheet by it's index.
withHeaderbooleanIf true, column names will be taken from the first sheet row. If duplicated header name is found, column name will be prepended with column letter to maintain uniqueness. 0-based row location can be passed to this option if header is not located on the first row.
ignoreEmptybooleanIf true, empty rows won't be emitted.
fillMergedCellsbooleanIf true, merged cells will have the same value (by default, only the first cell of merged cells is filled with value). Warning! Enabling this feature may increase streaming time because file must be processed to detect merged cells before actual stream.
numberFormatstandard or excel or objectBy default standard format is used. Excel implementation of number formatting differs from standard (can be read here) so excel option can be used to match this difference. If custom formatting is needed, a dictionary object can be passed to this option.

getWorksheets

Returns array of sheets with name and hidden info.

Options

OptionTypeDescription
filePathstringPath to the XLSX file

Building

You can build js source by using npm run build command.

Testing

Tests can be run by using npm test command.

FAQs

Package last updated on 12 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc