javascriptsheetjs

How to use file from <input type="file"> in SheetJS's XSLX?


I want to be able to upload .xlsx file to webpage to later use values from .xlsx's cells in javascript code. How can I combine code and SheetJS's XLSX to do that?


Solution

  • I did:

    $('#input-excel').change(function (e) {
        var reader = new FileReader();
        reader.readAsArrayBuffer(e.target.files[0]);
        reader.onload = function (e) {
            var data = new Uint8Array(reader.result);
            var workbook = XLSX.read(data, {type: 'array'});
            var sheet = workbook.Sheets[workbook.SheetNames[0]];
            var cell_ref = XLSX.utils.encode_cell({c: 1, r: 2});
            var cell = sheet[cell_ref];
            console.log(cell.v);
        };
    }
    

    Empty cell will not work, it needs to have value in worksheet.