by dominictarr

dominictarr /excel-stream
130 Stars 31 Forks Last release: Not found MIT License 25 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


A stream that converts excel spreadsheets into JSON object arrays.


// stream rows from the first sheet on the file
var excel = require('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('excel-stream')
var fs = require('fs')

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

stream options


object may have the same properties as csv-stream 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).


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


newline delimited json:

excel-stream --newlines


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



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.