/excel-parser

nodejs wrapper for parsing spreadsheet.

Primary LanguagePythonMIT LicenseMIT

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']
]

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.