Thursday, 14 February 2019

Excel to JSON : How to convert Excel data into JSON object using JavaScript?

<html>
<head>

<script type="text/javascript" src="./scripts/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="./scripts/jszip.js"></script>
<script type="text/javascript" src="./scripts/shim.min.js"></script>
<script type="text/javascript" src="./scripts/xlsx.js"></script>

<script language="javascript" type="text/javascript">
var _json_array;
$(document).ready(function(){
    $("#uploadingText").css("display", "none");
    $(function() {
        _fileIn = document.getElementById('fileToUpload');
        if(_fileIn.addEventListener) {
            _fileIn.addEventListener('change', readAllRows, false);//false: bubbling; true: capturing
        }
    });
});


function readAllRows(_event)
{
    try{
        var _file = _event.target.files[0];
        var _reader = new FileReader();
        _reader.onload = function(e) {
       
          var _data = e.target.result;
          var _workbook = XLSX.read(_data, {
            type: 'array',cellDates: true
          });
   
          _workbook.SheetNames.forEach(function(sheetName) {
            var _xl_row = XLSX.utils.sheet_to_json(_workbook.Sheets[sheetName]);
            _json_array = JSON.stringify(_xl_row); //last sheet
          })
        };
   
        _reader.onerror = function(ex) {
          alert('Something went wrong. Please try again after sometime.');
        };
       
        _reader.onloadend = function(ex) {
          uploadData();
        };
       
        _reader.readAsArrayBuffer(_file);//,{cellDates:true,cellText:false});  
    }
    catch(err)
    {
        alert('Invalid workbook.');
    }
}

function uploadData()
{
    jasonData = $.parseJSON(_json_array);
    console.log(jasonData[i]["ColumnName"])
}

</script>
</head>
<body>
    <input style="font-family:'Segoe UI';" type="file" id="fileToUpload" />
</body>
</html>


Note: Based on the timezone you may have to add a day to the date.

No comments:

Post a Comment