jsxlsx_async

a simple javascript libray to read xlsx file asynchronously

npm install jsxlsx_async
19 downloads in the last month

Jsxlsx async

Introduction

This is a simple library to read Microsoft Excel file (.xslx only) asynchronously. It can avoid "out of memory" problem when reading extra large files. Right now it also allow you to "edit" the file (read data first and put the data back to the file) synchronously.

Installation

npm install jsxlsx_async

Usage

var xlsx= require('jsxlsx_async')
xlsx('/yourpath',function(err,wb){
    if (err){
        //handling err
    }
    //get data array 
    wb.getSheetDataByName('yourSheetName',function(err,data){
        if (err){
            //handling err
        }
        console.log(data)
    })
    //get sheet object instead of pure data array
    wb.getSheetByName('yourSheetName',function(err,sheet){
        if (err){
            //handling err
        }
        //get certain cell object from sheet
        //ref can be {row:Number,col:Number} or Excel style string (like A2)
        var cell = sheet.getCell(ref)

        //With cell object, you can get Value
        var value = cell.value
        //get Cell type
        var type = cell.type
        //get Cell formula (if any)
        var formula = cell.formula

        //get rows array
        var rows = sheet.rows
        //get cells array
        var cells = rows[0].cells    

        //Write back to the sheet
        //Warning: this is not asynchronous function. It would probably fail for the large file. 
        wb.updateSheet(sheet,'yourSheetName')
        wb.output(filename)
    })
})

License

Copyright (c) 2013 Kyle Lu Licensed under the MIT license.

npm loves you