[jQuery] Excel 轉 JSON

http://jsfiddle.net/d2atnbrt/3/ 


<input type="file" id="my_file_input" />

<div id='my_file_output'></div>

<table class="easyui-datagrid" id="dg">

    <thead>

        <tr>

            <th data-options="field:'code'">Code</th>

            <th data-options="field:'name'">Name</th>

            

        </tr>

    </thead>

    <tbody>

        

    </tbody>

</table>


var oFileIn;


$(function() {

    oFileIn = document.getElementById('my_file_input');

    if(oFileIn.addEventListener) {

        oFileIn.addEventListener('change', filePicked, false);

    }

});



function filePicked(oEvent) {

    // Get The File From The Input

    var oFile = oEvent.target.files[0];

    var sFilename = oFile.name;

    // Create A File Reader HTML5

    var reader = new FileReader();

    

    // Ready The Event For When A File Gets Selected

    reader.onload = function(e) {

        var data = e.target.result;

        var cfb = XLS.CFB.read(data, {type: 'binary'});

        var wb = XLS.parse_xlscfb(cfb);

        // Loop Over Each Sheet

        wb.SheetNames.forEach(function(sheetName) {

            // Obtain The Current Row As CSV

            var sCSV = XLS.utils.make_csv(wb.Sheets[sheetName]);   

            var oJS = XLS.utils.sheet_to_row_object_array(wb.Sheets[sheetName]);   


            //$("#my_file_output").html(sCSV);

            console.log(oJS);

            

           var str = '{"total":2,"rows":[{"code":"1","name":"一"},{"code":"2","name":"二"}]}';   

          var data = $.parseJSON(str);    

          //console.log(data);

          $("#dg").datagrid('loadData', str); 

 

        });

    };

    

    // Tell JS To Start Reading The File.. You could delay this if desired

    reader.readAsBinaryString(oFile);

}

 

留言

這個網誌中的熱門文章

考績被打差了 輕率離職會更傷

Arrays - DS (Reverse array) [Easy]

WireMock