Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 1.6 KB

README.md

File metadata and controls

90 lines (62 loc) · 1.6 KB

ek-excel-stream

A stream that converts excel spreadsheets into JSON object arrays.

Forked from dominictarr/excel-stream

Examples

// stream rows from the first sheet on the file
var excel = require('ek-excel-stream')
var fs = require('fs')

fs.createReadStream('accounts.xlsx')
  .pipe(excel())  // same as excel({sheetIndex: 0})
  .on('data', console.log)
// stream rows from the sheet named 'Your sheet name'
var excel = require('ek-excel-stream')
var fs = require('fs')

fs.createReadStream('accounts.xlsx')
  .pipe(excel({
     sheet: 'Your sheet name'
  }))
  .on('data', console.log)

stream options

The options object may have the same properties as fast-csv and these two additional properties:

  • sheet: the name of the sheet you want to stream. Case sensitive.
  • sheetIndex: the sheet number you want to stream (0-based).

Usage

npm install -g ek-excel-stream
ek-excel-stream < accounts.xlsx > account.json

options

newline delimited json:

ek-excel-stream --newlines

formats

each row becomes a javascript object, so input like

foo, bar, baz
  1,   2,   3
  4,   5,   6

will become

[{
  foo: 1,
  bar: 2,
  baz: 3
}, {
  foo: 4,
  bar: 5,
  baz: 6
}]

Don't Look Now

So, excel isn't really a streamable format. But it's easy to work with streams because everything is a stream. This writes to a tmp file, then pipes it through the unfortunately named j then into csv-stream

License

MIT