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
### 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
orfalse
. Pass true if want to skip empty cells from spreadsheet. - searchFor - Object with
term
andtype
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.
Copyright (c) 2013 Shekhar R. Thawali
Licensed under the MIT license.