Skip to content
libxl bindings for Node.js. libxl is a library for working with Excel files.
C++ C JavaScript Python
Latest commit 5872a50 Oct 27, 2013 @estliberitas estliberitas Merge pull request #3 from tfitschen/windows
Windows support
Failed to load latest commit information.
lib Windows support Oct 26, 2013
src
tools/7zip Windows support Oct 26, 2013
.gitignore First installable code Feb 3, 2013
.npmignore Added sheets-related API to Book class Feb 4, 2013
CHANGELOG.md Update CHANGELOG.md Feb 5, 2013
LICENSE Base node/npm package files Feb 2, 2013
README.md Update README.md Feb 5, 2013
binding.gyp Windows support Oct 26, 2013
install-libxl.js Windows support Oct 26, 2013
package.json Windows support Oct 26, 2013

README.md

node-excel-libxl

libxl bindings for Node.js. libxl is a library for working with Excel files.

Installation

npm install excel-libxl

Running

For example you have simple app.js:

var libxl = require('excel-libxl')
  , book = libxl.createBook();

book.load('./my-excel-file.xls', function(err) {
  book.getSheet(0).setName('Sheet #1 new name');
  book.save('./my-excel-file.xls', function(err) {
    process.exit(0);
  });
});

If libxl.so is not located in one of the default library paths (e.g. /usr/lib) you need to set LD_LIBRARY_PATH environment variable to start Node.js app correctly:

LD_LIBRARY_PATH="/path/to/libxl.so/" node app.js

API

You can open libxl documentation and use it now with following restrictions:

  • Instead of libxl namespace you use var libxl = require('excel-libxl') as namespace, so Book class is available as libxl.Book, etc.
  • All the enums are added to module, so you can find COLOR_GRAY40 at libxl.COLOR_GRAY40

Thus I have in plans to add some kind of Helper/BaseApi class, I also will generate documentation someday.

TODO

Disclaimer

The sharks of C++ may find my code awful. My apologies, guys. I'm only learning C++. And thus addon is expected to be serious one I won't transfer ownership. But I promise to merge all the helpful pull requests and react on issues fast.

Something went wrong with that request. Please try again.