Parse Excel and convert it to JSON with Node.js

This is a great, simple and lovely module for Node.js to parse Excel files.

Install the module:

npm install --save excel

Use it like this:

var xls = require('excel');

xls('Sheet.xlsx', function(err, data) {
  if(err) throw err;
    // data is an array of arrays

As it says, the data it returns is an array of arrays. We want it to be JSON, so that we can do whatever we want with it.

This is a function that converts an array of arrays to JSON:

function convertToJSON(array) {
  var first = array[0].join()
  var headers = first.split(',');
  var jsonData = [];
  for ( var i = 1, length = array.length; i < length; i++ )
    var myRow = array[i].join();
    var row = myRow.split(',');
    var data = {};
    for ( var x = 0; x < row.length; x++ )
      data[headers[x]] = row[x];

  return jsonData;


xlsx('tasks.xlsx', function(err,data) {
    if(err) throw err;

It's almost embarrassing how Node enables me to use other people's modules to create apps in such a simple way.

4 Replies to “Parse Excel and convert it to JSON with Node.js”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: