leftshifters / excel-parser

nodejs wrapper for parsing spreadsheet.
MIT License
72 stars 70 forks source link

excel-parser

node wrapper for parsing spreadsheets. Supports xls, xlsx.

You can install this module using npm:

npm install excel-parser

Requires python to be installed. Python modules are also required: argparse and xlrd To install them:

pip install argparse
pip install xlrd

For system-specific installation view the Wiki

API

worksheets(options, callback(err, worksheets))

Get all the worksheets list in given spreadsheet where options are the object of arguments. The result is returned as a object.

Arguments

  • inFile - Filepath of the source speadsheet

Example

var excelParser = require('excel-parser');
excelParser.worksheets({
  inFile: 'my_file.in'
}, function(err, worksheets){
  if(err) console.error(err);
  console.log(worksheets);
});

Sample output

[
  {'name': 'Sheet1', id: 1},
  {'name': 'Sheet2', id: 2}
]

parse(options, callback(err, records))

Parse spreadsheet with given optinos as an arguments. The result is returned as an array.

Arguments

  • inFile - Filepath of the source speadsheet
  • worksheet - Worksheet name or Id to parse. If nothing specified then default is 0 and parsed all the worksheets.
  • skipEmpty - boolean true or false. Pass true if want to skip empty cells from spreadsheet.
  • searchFor - Object with term and type values. If you want to get limited matching rows from spreadsheet then add the matching string array and one of the following search type. 'strict' is for the case sensetive and exact string matched. 'loose' is for the case insensetive and match relatively.

Example

var excelParser = require('excel-parser');

excelParser.parse({
  inFile: 'my_file.in',
  worksheet: 1,
  skipEmpty: true,
  searchFor: {
    term: ['my serach term'],
    type: 'loose'
  }
},function(err, records){
  if(err) console.error(err);
  console.log(records);
});

Sample output

[
  ['ID', 'Name', 'City'],
  ['1', 'joe', 'Sandy Springs'],
  ['1', 'cole', 'City of Industry']
]

Running Tests

There are unit tests in test/ directory. To run test suite first run the following command to install dependencies.

npm install

then run the tests:

grunt nodeunit

NOTE: Install npm install -g grunt-cli for running tests.

License

Copyright (c) 2013 Shekhar R. Thawali

Licensed under the MIT license.